2012-11-02 79 views
0

在我啓動時運行的主類中,它試圖將一些數據放入HashMap中。但它是說HashMap爲空,並且它不能添加數據。添加到HashMap給NPI

public class COD extends JavaPlugin{ 

    public void loadConfig(){ 
     Settings.gunradius.put("Famas", getConfig().getInt("guns.Famas")); 
    } 
} 

public class Settings { 
    static HashMap<String, Integer> gunradius; 
} 

它不會將數據放入HashMap中。我懷疑它與靜態方法有關,但我不知道。

回答

3

在使用之前,您需要初始化HashMap。內化到對象默認值是null

static final Map<String, Integer> gunradius = new HashMap<String, Integer>(); 
+0

謝謝!我會盡快接受最佳答案。 – DannyF247

3

變化

static HashMap<String, Integer> gunradius; 

static HashMap<String, Integer> gunradius= new HashMap<String, Integer(); 

否則你gunradius將指向null

null的任何操作參考結果NullPointerException

+0

此外,教OP,這將是更好的對接口進行編程,而不是實現類:?當定義一個新對象時,我應該使用一個接口VS實現] (http://stackoverflow.com/q/4991516/1065197)。 –

+0

謝謝,我一定會讀到Luiggi。 – DannyF247