Null: Unterschied zwischen den Versionen
Zeile 1: | Zeile 1: | ||
− | 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 [[Objekt|Objektes]] immer den Wert '''null'''. Man kann auch '''jeder''' Objektvariablen den Wert '''null''' zuweisen, um die in der Variablen gespeicherte Referenz zu "löschen". | + | 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 [[Objekt|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 [[Datentyp#Objektdatentypen|Objektdatentyp]] der Wert '''0''' nicht zugewiesen werden kann und '''null''' einem [[primitiver Datentyp | primitiven Datentyp]] nicht zugewiesen werden kann. | Im Gegensatz zur '''0''', die einen numerischen Wert beschreibt, ist '''null''' eine Referenz. Das heißt, dass einer Variablen mit [[Datentyp#Objektdatentypen|Objektdatentyp]] der Wert '''0''' nicht zugewiesen werden kann und '''null''' einem [[primitiver Datentyp | primitiven Datentyp]] nicht zugewiesen werden kann. |
Version vom 18. April 2016, 14:42 Uhr
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
public void doSomething(Object object){ if(object != null) { /* Do Something */ } }
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 clear(){ this.value = 0; this.attribute = null; }
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.
Negativbeispiel
Object reference; int number; public void doesNotCompile(){ this.reference = 0; this.number = null; }