This is an exercise in Head First Java. The exercise is about autoboxing (wrapping and unwrapping).
Why does the compiler approve that assigning Integer i (default value is null) to int j (default value is 0)?
When I run it, it shows: "Cannot invoke "java.lang.Integer.intValue()" because "this.i" is null"
public class TestBox {
Integer i;
int j;
public static void main(String[] args) {
TestBox t = new TestBox();
t.go();
}
public void go() {
j = i;
System.out.println(j);
System.out.println(i);
}
}