HOWTO · Java
Überprüfen Sie, ob Int Null ist in Java
So überprüfen Sie, ob int null ist in Java
Auf dieser Seite
Dieser Artikel erläutert, wie man mit dem Typ int in Java auf Nullwerte prüft — über die Wrapper-Klasse Integer. Außerdem behandelt er die bewährten Vorgehensweisen, die Code im Umgang mit nullbaren Integern zuverlässig und robust halten.
Kann int in Java null sein?
Zunächst muss eines klar sein: int ist ein primitiver Datentyp. Primitive Typen halten ihren Wert direkt, daher kann ein int niemals null sein — er hält immer eine Zahl, standardmäßig 0. Das Fehlen eines Werts lässt sich nur mit der Wrapper-Klasse Integer darstellen, deren Objekte null sein können.
Deshalb ist die Prüfung wichtig. Bevor ein Integer als int verwendet wird — etwa wenn er für eine Berechnung entpackt oder dort übergeben wird, wo ein int erwartet wird — muss er geprüft werden: Ein null-Integer als int zu verwenden, löst eine NullPointerException aus. Wenn Sie die Wrapper-Form eines primitiven Werts benötigen, lesen Sie, wie man int in Integer umwandelt.
Prüfen, ob ein Integer null ist
Die Prüfung selbst ist ein einfacher Vergleich mit null. Das folgende vollständige Beispiel zeigt einen primitiven int, einen nullbaren Integer und die Prüfung in Aktion:
public class CheckIfIntIsNullExample {
public static void main(String[] args) {
// Part 1: Primitive int
int primitiveInt = 0;
System.out.println("Primitive int value: " + primitiveInt);
// Part 2: Nullable Integer
Integer nullableInt = null;
System.out.println("Nullable Integer value: " + nullableInt);
// Part 3: Checking for null
if (nullableInt != null) {
int intValue = nullableInt.intValue();
System.out.println("Value is: " + intValue);
} else {
System.out.println("Value is null");
}
}
}
Ausgabe:
Primitive int value: 0
Nullable Integer value: null
Value is null
Im ersten Teil des Codes wird primitiveInt mit dem Wert 0 initialisiert — die übliche Verwendung eines primitiven Integers, der immer einen Wert hält. Im zweiten Teil wird nullableInt als Integer-Objekt deklariert und auf null gesetzt, was nur die Wrapper-Klasse erlaubt. Im dritten Teil vergleicht eine if-Anweisung nullableInt mit null: Ist er nicht null, wird der int-Wert mit intValue() extrahiert und ausgegeben; andernfalls gibt das Programm aus, dass der Wert null ist.
Bewährte Vorgehensweisen für nullbare Integer
Konsequente Nullprüfung
Prüfen Sie, ob ein Integer-Objekt null ist, bevor Sie Operationen damit ausführen oder seinen zugrunde liegenden int-Wert extrahieren — und tun Sie das konsequent. Diese Vorgehensweise minimiert das Risiko von NullPointerExceptions und erhöht die Stabilität des Codes insgesamt.
Klare Dokumentation
Dokumentieren Sie, wo nullbare Integer erwartet werden, wie sie zu behandeln sind und was ein null-Wert bedeutet. Klare Dokumentation verhindert unbeabsichtigten Missbrauch und hilft anderen Entwicklern, das Verhalten des Codes zu verstehen.
Standardwerte und Initialisierung
Geben Sie, wo es angebracht ist, einen Standardwert für einen nullbaren Integer an — etwa indem Sie einen Ersatzwert einsetzen, wenn der Wert fehlt —, damit Operationen, die darauf angewiesen sind, nicht unerwartet fehlschlagen. Sinnvolle Standardwerte machen das Verhalten des Codes vorhersehbarer.
Verwendung von Optional (Java 8 und später)
Seit Java 8 kann die Klasse Optional das mögliche Fehlen eines Werts im Typ selbst ausdrücken. Optional<Integer> bietet Methoden, um den vorhandenen und den fehlenden Fall explizit zu behandeln, und drückt die Absicht im Code klarer und knapper aus.
Ausnahmebehandlung
Wo das Fehlen eines Werts als Ausnahme gilt, behandeln Sie es bewusst — scheitern Sie früh mit einer klaren Fehlermeldung oder stellen Sie den Zustand explizit wieder her —, statt eine NullPointerException weit entfernt von ihrer Ursache auftreten zu lassen. Robuste Ausnahmebehandlung verhindert unerwartete Programmabbrüche.
Fazit
Ein int kann niemals null sein; nur seine Wrapper-Klasse Integer kann es. Die Prüfung ist ein einfacher Vergleich mit null, und wer ihn konsequent anwendet — zusammen mit klarer Dokumentation, sinnvollen Standardwerten und Optional, wo es passt — verhindert NullPointerExceptions und hält Java-Code zuverlässig und robust.