Grundsätzlich sollte ein Programmierer nie dem Compiler vertrauen und alle Variablen initialisieren.
Ich frag mich gerade, ob du selber deinen Bytecode schreibst, wenn du das nicht tust. Dass Felder initialisiert werden, ist dokumentiertes Verhalten. Ordinalwerte sind 0, Boolean ist False, Zeiger sind nil, Strings sind leer.
Wenn es dokumentiert ist, ist das was anderes.
Meines Wissens ist es nur für Strings doumentiert.
[edit]Undokumentiere Dinge, die man "nur" durch ausprobieren weiss, können sich ja jederzeit bei einem Versionswechsel ändern.[/edit]
Wo steht das denn in der Doku?