Nullpointer abfangen

delphiking1980

Bekanntes Mitglied
Hi,

ich habe da mal eine Frage :

nach Diversen Java Seminaren ist mir trotzdem nicht klar was besser ist :

Java:
if (objekt != null)

oder

Java:
if (null != objekt)

hört sich erstmal gleich an aber es soll wohl sein das im ersten Beispiel trotzdem eine nullpointer kommen kann. Oder ??
 

ARadauer

Top Contributor
Das ist egal. Verwechselst du das garade mit sowas:

if("Franz".equals(name))
vs
if(name.equals("Fanz"))
wobei bei 1. keine NPE kommen kann, beim 2. schon wenn name null ist
 

thewulf00

Bekanntes Mitglied
Also eine Nullpointer kommt in keinem von beiden Fällen.

Der Unterschied ist nur, dass Leute, die aus C/C++ kommen, gern mal die zweite Variante bevorzugen, damit sie in jedem Fall den Fehler ausschließen, dass sie evtl. ne Zuweisung machen:
[c]if (obj = null)[/c] anstatt [c]if (ob == null)[/c]. Bei einer ungewollten Zuweisung würde die IDE höchstens eine Warnung anzeigen, wenn das so konfiguriert ist, aber bei der umgekehrten Variante gibts in jedem Fall einen Fehler und man muss sich die Zeile nochmal genau anschauen. Deshalb gewöhnen es sich manche an, in jedem Fall die Variable hinten (=rechts) zu schreiben.

Solange Du nicht auf eine Variable, die null enthält, per Methode oder Member zugreifst, kann nichts passieren.
 

utnovetur

Mitglied
Hallo,

in C++ darf fast alles als Boolean interpretiert werden. Deshalb meckert dort der Compiler auch nicht, wenn man (versehentlich) schreibt:

Java:
if(object = null)

Deshalb haben sich C++-Programmierer angewöhnt zu schreiben:

Java:
if(null == object)

Vergisst man hier ein Gleichheitszeichen, meckert der Compiler.
In Java macht es wirklich keinen Unterschied.
 

thewulf00

Bekanntes Mitglied
Hallo,

in C++ darf fast alles als Boolean interpretiert werden. Deshalb meckert dort der Compiler auch nicht, wenn man (versehentlich) schreibt:

Java:
if(object = null)

Deshalb haben sich C++-Programmierer angewöhnt zu schreiben:

Java:
if(null == object)

Vergisst man hier ein Gleichheitszeichen, meckert der Compiler.
In Java macht es wirklich keinen Unterschied.
Wow! Diese Erkenntnis ist neu in diesem Thread. Danke!
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Kann ich die Nullpointer Exception umgehen Allgemeine Java-Themen 12
D Nullpointer Exception Problem Allgemeine Java-Themen 5
Kirby.exe Nullpointer Exception bei Queue Allgemeine Java-Themen 5
N Compiler-Fehler Warum erhalte ich einen Nullpointer Fehler? Allgemeine Java-Themen 2
M javafx ComboBox- Nullpointer Exception Allgemeine Java-Themen 6
T Nullpointer. :( Allgemeine Java-Themen 31
0 Animiertes Gif anzeigen - NullPointer Exception Allgemeine Java-Themen 19
L Nullpointer Exceptions werden nicht angezeigt Allgemeine Java-Themen 5
W Threads NullPointer: Konstruktor "zu langsam"? Allgemeine Java-Themen 3
I NullPointer während while(){} Allgemeine Java-Themen 4
G Nullpointer trotz vorherigem Nullcheck Allgemeine Java-Themen 2
V Array aus Instanzen, NullPointer Allgemeine Java-Themen 4
E YQL Api Test - NullPointer Allgemeine Java-Themen 9
A Compiler-Fehler Woher kommt der NullPointer? (Collections & Iterator) Allgemeine Java-Themen 7
B Nullpointer Exception in Array Allgemeine Java-Themen 15
H NullPointer finde den grund nicht Allgemeine Java-Themen 9
Z NullPointer in einem VO Allgemeine Java-Themen 14
M Nullpointer Exeption bei String Array Allgemeine Java-Themen 9
A NullPointer bei System.getProperty("file.seperator") Allgemeine Java-Themen 4
A NullPointer bei konvertierung von byteArr --> Object Allgemeine Java-Themen 3
medic NullPointer verwirrt mich total. Allgemeine Java-Themen 3
G NullPointer. in einer Datenstruktur Allgemeine Java-Themen 2
H Nullpointer exception, Attribute in Label schreiben? Allgemeine Java-Themen 4
G Nullpointer Exception nach KeyPressed Allgemeine Java-Themen 6
G NullPointer ? wieso? Allgemeine Java-Themen 7
CodingBerlin Mouse Clicks abfangen Allgemeine Java-Themen 4
X jvm exception abfangen und an externes Programm schicken Allgemeine Java-Themen 4
S equals-Methode bestimmer Klassen abfangen Allgemeine Java-Themen 2
E Exceptions abfangen und dann Programm stoppen - aber wie? Allgemeine Java-Themen 2
T Daten über port abfangen mit proxy server Allgemeine Java-Themen 12
M Swing java command line abfangen Allgemeine Java-Themen 8
C Swing Abfangen von Fehlern in GUI Allgemeine Java-Themen 4
R Threads Exceptions von Threads abfangen im ThreadPool Allgemeine Java-Themen 5
C Kopiervorgang abfangen Allgemeine Java-Themen 10
T Methoden In Konsole tasten abfangen? Allgemeine Java-Themen 4
B Windows Shutdown abfangen Allgemeine Java-Themen 10
O Input/Output CMD-Ausgabe abfangen und in Datei speichern Allgemeine Java-Themen 8
V JNI Call Crash verhindern (abfangen) Allgemeine Java-Themen 2
E JAVA URL abfangen und weiterleiten? Filter? Allgemeine Java-Themen 6
F Alle Exceptions abfangen Allgemeine Java-Themen 4
reibi NoClassDefFoundError abfangen Allgemeine Java-Themen 6
N BlueJ Abfangen vom Beenden Allgemeine Java-Themen 7
B Alle Exceptions auf einmal abfangen Allgemeine Java-Themen 4
B Exception wird geworfen, ich darf sie aber nicht abfangen. Allgemeine Java-Themen 10
P [SWT] Copy, Paste und Cut abfangen Allgemeine Java-Themen 6
T WeakHashMap: Wie "null" effizient abfangen? Allgemeine Java-Themen 5
R Loading-Thread und Exceptions abfangen. Allgemeine Java-Themen 4
G Tastatursignale abfangen oder ist Java dafuer zu abstrakt? Allgemeine Java-Themen 12
I Das EOF (Ctrl + Z) abfangen Allgemeine Java-Themen 8
E programm im background tastendruck abfangen Allgemeine Java-Themen 4
H NullPointerException trotz Abfangen von null? Allgemeine Java-Themen 9
M Speichern von Word als Event abfangen Allgemeine Java-Themen 7
W Das schließen des JFrame abfangen, wiei? Allgemeine Java-Themen 6
P Nicht terminierende Methoden abfangen - timeout ? Allgemeine Java-Themen 3
reibi Aktion Taste gedrückt abfangen Allgemeine Java-Themen 9
G Bildschirmänderung abfangen? Allgemeine Java-Themen 4
J Method.invoke -> Exceptions der Funktion abfangen Allgemeine Java-Themen 5
B Fehlermeldung von dispatcher.forward abfangen Allgemeine Java-Themen 2
P CLAmp-Ausgaben abfangen Allgemeine Java-Themen 2
H Programmterminierung abfangen Allgemeine Java-Themen 4
R Alle Konsolenausgaben abfangen Allgemeine Java-Themen 8
G outOfMemoryError beim Einlesen einer Datei abfangen? Allgemeine Java-Themen 13
F Überlauf abfangen Allgemeine Java-Themen 1
J ToolTipText Event abfangen Allgemeine Java-Themen 5
M unterschiedliche Betriebssysteme abfangen Allgemeine Java-Themen 3
C LinkedList Exception abfangen Allgemeine Java-Themen 8
0 StackOverflow abfangen Allgemeine Java-Themen 15
M Runtime.getRuntime().exec() - Fehler abfangen Allgemeine Java-Themen 5
L Tastatureingaben abfangen Allgemeine Java-Themen 6
M err oder alle Exceptions eines Programms abfangen Allgemeine Java-Themen 4

Ähnliche Java Themen

Neue Themen


Oben