Ĉu mi povas seriigi tabelon rekte, aŭ ĉu mi unue devas envolvi ĝin en objekton?

0
11316

Kvankam ĝi ne estas evidente, tabeloj en Java estas objektoj; ili havas metodojn, kiujn vi povas alvoki (al Ŝnuro (), egalas (), ktp.) kaj enhavas okazvariablojn (longo). La nenomita tabelsuperklaso ankaŭ efektivigas Serializebla, do ĉiuj tabelspecoj povas esti seriigitaj rekte, sen plia laboro de la programisto, kiel montrite en la sekva kodekzemplo:

public class Test { public static void main(String[] args) throws Exception { // Serialize an int[] ObjectOutputStream out = new ObjectOutputStream(new FileOutputStream("test.ser"); out.writeObject(nova int[] {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}); el.flush(); ekstere.fermi(); // Seneriigi la int[] ObjectInputStream in = new ObjectInputStream(new FileInputStream("test.ser"); int[] array = (int[]) en.leguObjekto (); en.close(); // Presas enhavon de deserialigita int[] System.out.println("Estas " + (tabelo de Serializabla) + " ke int[] efektivigas Serializablan"); System.out.print("Deseriigita tabelo: " + tabelo[0]); por (int i=1; i

La kutimaj limigoj validas, kompreneble - se vi havas tabelon da objektoj, la enhavo de tiu tabelo ankaŭ devas esti seriigebla por ke la tabelo estu sukcese seriigita.