Java: null pointer exception when unboxing Integer?
The null pointer exception is a result of unboxing the result of inverse.get(animal)
. If inverse
doesn't contain the key animal
, it returns null
, "of type" Integer
. Given that the assignment is to an int
reference, Java unboxes the value into an int
, resulting in a null pointer exception.
You should either check for inverse.containsKey(animal)
or use Integer
as the local variable type to avoid unboxing and act accordingly. The proper mechanism depends on your context.
Check for inverse.containsKey(animal), BiMap<PhylogenyTree, Integer>
. The inverse might not have the animal.