2016-03-29 167 views
-3
class A { 
    public static class B { 
     private static String[] names; 
     public static void addName(int i, String name) { 
      names[i] = name; 
     } 
    } 
} 

調用A.B.addName(0,"test");會導致NullPointerException。我是Java新手,所以任何人都可以解釋爲什麼?我想填充應用程序開頭的names數組,並使A的所有實例使用相同的數據。調用靜態子類的靜態方法時出現NullPointerException

+0

如果你是新到Java,我不建議內部類(或靜態類和變量),除非你知道你爲什麼需要他們 –

+0

@ cricket_007我沒有新的節目,所以我知道爲什麼我需要它們,這只是我從未對Java做過任何事情。 – burtek

回答

1

你需要初始化一些大小的數組,否則它是空的。

private static String[] Names = new String[5]; 
+0

當然,這只是顯而易見的。謝謝,我會盡快接受它。 – burtek