Felder sind implizit Serializable

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
  }
}

Ähnliche Beiträge

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert