null und primitive Datentypen

Herr Kaiser

Bekanntes Mitglied
Hallo Forum,
hier fragt mal wieder ein Anfänger:
Einer Objektvariablen kann ich den Wert "null" zuweisen. Bei primitiven Datentypen geht das offensichtlich nicht. Gibt es hierfür ein eigenes Schlüsselwort oder geht das gar prinzipiell überhaupt nicht und ich müsste für solche Fälle bspw. mit Float statt mit float arbeiten? ...
Danke für eure Hilfestellung!
 
das geht prinzipiell nicht.

wenn ein integer 0 ist, ist er einfach 0
wenn ein Objekt 0 ist, dann ist es null, weil 0 keine gültige Referenz auf eine stelle im speicher ist. er kann nicht finden was da dranhängt
 
Geht nicht, gibts nicht, ja, du kannst stattdessen Wrapper-Objekte wie Float verwenden, was dann regelmäßige Probleme beim Unboxing verursacht, etwa
Java:
Integer i1 = null;
int i2 = i1; //BUMM
 
Kann nicht gehen... was soll null den sein? 0? Nein!!
null ist nicht definiert
0 ist die Zahl zwischen -1 und 1

das ist was ganz anderes...
 
Ah, I see. Danke für die Antworten! 🙂
Dann gibt es auch keine Möglichkeiten, herauszufinden, ob eine Variable eines primitiven Datentyps zwar schon deklariert, aber noch nicht initialisiert wurde? ...
 
Also bei lokalen Variablen gibt es einen Compiler-Fehler, wenn vor dem Gebrauch dieser nicht sicher ist, dass sie überhaupt initialisiert wurden. Beispiel:
Java:
public static void main(String[] args) {
	int a;
	int b = 0;
	if (b == 0) System.out.println(a);
}

AFAIK, ist das bei allen anderen Variablen (Klassen-, Instanz- etc.) nicht so, sondern sie werden mit den Defaults (0, false(, null)) initialisiert (Ausnahme: final, da gibts ebenfalls Gemecker).
 

Neue Themen


Zurück
Oben