I declare a Boolean variable. For example Boolean dataVal=null;
Now if I execute the following code segment:
if(dataVal)
System.out.prin
When you evaluate the boolean value of a Boolean
object Java unbox the value (autoboxing feature, since 1.5). So the real code is: dataVal.booleanValue()
. Then it throws NullPointerException
. With any boxed value, unboxing a null object throws this exception.
Before 1.5 you had to unbox the value by hand: if (dataVal.booleanValue())
so it was more evident (more verbose too :)