Null

Aus EINI
Wechseln zu: Navigation, Suche

Mit dem Schlüsselwort null wird der sog. Nullpointer, oder auch die Nullreferenz, repräsentiert. Sie repräsentiert "nichts", also das Nichtvorhandensein von Informationen. Entsprechend besitzen nicht initialisierte Attributvariablen nach Instanziierung des Objektes immer den Wert null. Man kann auch jeder Objektvariablen den Wert null zuweisen, um die in der Variablen gespeicherte Referenz zu "löschen".

Im Gegensatz zur 0, die einen numerischen Wert beschreibt, ist null eine Referenz. Das heißt, dass einer Variablen mit Objektdatentyp der Wert 0 nicht zugewiesen werden kann und null einem primitiven Datentyp nicht zugewiesen werden kann.

Beispiele

Objektreferenzen jeden Typs können mit null verglichen werden. Dies sollte grundsätzlich getan werden, bevor auf einem übergebenen Objekt eine Methode aufgerufen oder mit dem Objekt gearbeitet wird:

public void doSomething(Object object){
    if(object != null)
    {
        /* Do Something */
    }
}

Der Vergleich mit null eignet sich außerdem dazu, das Ende einer Liste zu finden.

Häufig werden Methoden bereitgestellt, um ein Objekt wieder in einen uninitialisierten Zustand zurückzusetzen. Objektreferenzen werden in diesem Zusammenhang gerne auf null gesetzt, während numerische Attribute auf 0 gesetzt werden:

public void clear(){
    this.value = 0;
    this.attribute = null;
}

Negativbeispiel

Object reference;
int number;
public void doesNotCompile(){
    this.reference = 0;
    this.number = null;
}