Почему я получаю NULL Указал исключение в этом коде?
-
28-09-2019 - |
Вопрос
public class Test {
Integer i;
int j;
public static void main ( String [] args ) {
Test t = new Test ();
t.go();
}
public void go() {
j=i;
System.out.println(j);
System.out.println(i);
}
}
Выход : Исключение в потоке "Главная" java.lang.nullpointerexception at test.go (test.java:12) в test.main (test.java:8)
Решение
Это, очевидно, не ошибка. Вы получите время выполнения NullPointerexception, потому что вы распадаетесь в нулевую ссылку (i
) в примитивный (j
). Увидеть jls §5.1.8.
Причина i
IS NULL заключается в том, что поля экземпляра инициализируются на 0, NULL или FALSE по умолчанию.
Не связан с StackOverflow