1
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);
    }
}

出力:スレッド「main」の例外java.lang.NullPointerException at Test.go(Test.java:12)at Test.main(Test.java:8)

4

1 に答える 1

3

それは明らかにエラーではありません。inull 参照 ( ) をプリミティブ ( ) にアンボックスしているため、実行時に NullPointerException が発生しますj。JLS §5.1.8を参照してください。

null である理由iは、インスタンス フィールドがデフォルトで 0、null、または false に初期化されるためです。

于 2010-10-08T04:36:33.237 に答える