Ist eine Null-Prüfung vor instanceof in Java erforderlich?
Hallo Kollegen! Ich bin ein Java-Anfänger und habe eine Frage, die mich beschäftigt. Angenommen, ich habe eine Variable, die null sein kann, und ich möchte ihren Typ mit instanceof überprüfen. Ist es notwendig, vorher explizit zu prüfen, ob die Variable nicht null ist?
Hier ist ein Codebeispiel, das ich oft schreibe:
```java
Object obj = getSomeObject(); // kann null zurückgeben
if (obj != null) {
if (obj instanceof String) {
String str = (String) obj;
System.out.println(str.length());
}
}
```
Aber mir wurde kürzlich gesagt, dass instanceof an sich sicher ist und false für null zurückgibt. Das heißt, man kann so schreiben:
```java
if (obj instanceof String) {
String str = (String) obj;
System.out.println(str.length());
}
```
Ich habe es ausprobiert – tatsächlich wird keine NullPointerException ausgelöst. Aber ich habe immer noch Zweifel: Funktioniert das nur in bestimmten Fällen? Gibt es vielleicht Fallstricke? Zum Beispiel, wenn obj null ist, dann instanc
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen