Auto-unboxing may lead to NullPointerException
suggest changeThis code compiles:
Integer arg = null;
int x = arg;
But it will crash at runtime with a java.lang.NullPointerException
on the second line.
The problem is that a primitive int
cannot have a null
value.
This is a minimalistic example, but in practice it often manifests in more sophisticated forms. The NullPointerException
is not very intuitive and is often little help in locating such bugs.
Rely on autoboxing and auto-unboxing with care, make sure that unboxed values will not have null
values at runtime.
Found a mistake? Have a question or improvement idea?
Let me know.
Table Of Contents