Null: Unterschied zwischen den Versionen

Aus EINI
Wechseln zu: Navigation, Suche
Zeile 2: Zeile 2:
  
 
Im Gegensatz zur '''0''', die einen numerischen Wert beschreibt, ist '''null''' eine Referenz! Das heißt, dass einer Variablen mit Objekttyp 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 Objekttyp der Wert '''0''' nicht zugewiesen werden kann und '''null''' einem [[primitiver Datentyp | primitiven Datentyp]] nicht zugewiesen werden kann.
 +
 +
= Beispiele =
 +
 +
<source lang="java" title="Vergleich mit null">
 +
public void doSomething(Object object){
 +
    if(object != null)
 +
    {
 +
        /* Do Something */
 +
    }
 +
}
 +
</source>
 +
 +
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.
 +
 +
<source lang="java" title="Inhalt eines Objektes löschen">
 +
public void clear(){
 +
    this.value = 0;
 +
    this.attribute = null;
 +
}
 +
</source>
 +
 +
Häufig werden Methoden bereitgestellt, um ein Objekt wieder in einen uninitialisierten Zustand zurückzusetzen. Objektreferenzen in diesem Zusammenhang gerne auf '''null''' gesetzt, während numerische Attribute auf '''0''' gesetzt werden.
 +
 +
<source lang="java" title="Nicht erlaubte Operationen">
 +
Object reference;
 +
int number;
 +
public void doesNotCompile(){
 +
    this.reference = 0;
 +
    this.number = null;
 +
}
 +
</source>

Version vom 15. April 2016, 22:13 Uhr

Mit dem Schlüsselwort null wird der sog. Nullpointer, oder die Nullreferenz repräsentiert. Sie repräsentiert "nichts", also das nicht-vorhandensein von Informationen. Entsprechend besitzen nicht initialisierte Attributvariablen nach Instanziierung des Objektes immer den Wert null. Man kann entsprechend 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 Objekttyp 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 in diesem Zusammenhang gerne auf null gesetzt, während numerische Attribute auf 0 gesetzt werden.

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