Dieser Code verursacht eine Nullzeigerausnahme. Ich habe keine Ahnung warum:
%Vor%Ich habe es im Debugger untersucht, und alle lokalen Variablen sind nicht null. Wie sonst könnte das passieren? Die BiMap stammt von Google Collections.
Die Null-Zeiger-Ausnahme ist ein Ergebnis des Entpackens des Ergebnisses von inverse.get(animal)
. Wenn inverse
den Schlüssel animal
nicht enthält, wird null
, "vom Typ" Integer
zurückgegeben. Da die Zuweisung zu einer int
-Referenz erfolgt, hebt Java den Wert in int
auf, was zu einer Nullzeigerausnahme führt.
Sie sollten entweder nach inverse.containsKey(animal)
suchen oder Integer
als lokalen Variablentyp verwenden, um das Unboxing zu vermeiden und entsprechend zu agieren. Der richtige Mechanismus hängt von Ihrem Kontext ab.
Sie müssen einen Stacktrace haben. Es sagt genau, wo die Linie war, wo das passiert ist. Posten Sie es und wir können erzählen.
Aus all dem geposteten Code, den ich "raten" kann, ist eine mögliche NullPointerException
Knoten kann null sein und node.getParent
Das übergeordnete Element des Knotens kann null sein und das Aufrufen von parent.getChildren
kann Npe
Einer der Geschwister darf null sein und der Aufruf von sibling.equals
darf Npe
cellInfo darf null sein und cellInfo.inverse
wird es werfen.
Schließlich kann das zurückgegebene "inverse" null sein und inverse.get()
wird es werfen.
Puh !! ...
Also, um diese wilden Spekulationen zu vermeiden, warum postest du nicht einfach deinen Stacktrace und wir finden es heraus?
Es sollte ungefähr so aussehen:
%Vor%usw. ..
Tags und Links java nullpointerexception guava