Primitive Datentypen werden beim Serialisierungs-Prozess selbst in den Datenstrom geschrieben. Das gleiche gilt auch für Felder; sie sind automatisch Serializable.
Neben der Methode clone() und dem Attribut length besitzt ein Feld eine zweite wichtige Eigenschaft, die eng mit clone() verbunden ist: Ein Feld lässt sich serialisieren. Dazu muss aber ein Array-Objekt die Schnittstelle java.io.Serializable implementieren, und dies macht es auch versteckt.
Betrachten wir das folgende Programm, so erkennen wir, dass nur bei einer gültigen Referenz auf ein Feld-Objekt dieses Objekt instanceof Serializable ist.
class ArrayIsSerializable
{
public static void main( String args[] )
{
int f1[] = null;
int f2[] = new int[10];
Serializable s = (Serializable)f1;
System.out.println( s ); // null
boolean b1 = f1 instanceof Serializable;
boolean b2 = f2 instanceof Serializable;
System.out.println( b1 ); // false
System.out.println( b2 ); // true
}
}