添加到HashMap给出了NPI

时间:2012-11-02 17:41:06

标签: java static nullpointerexception hashmap

在我在启动时运行的主类中,它尝试将一些数据放入HashMap。但是它说HashMap为空,并且无法添加数据。

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。我怀疑它与静态方法有关,但我真的不知道。

2 个答案:

答案 0 :(得分:3)

更改

 static HashMap<String, Integer> gunradius;

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

否则您的gunradius将指向null

null引用的任何操作都会导致NullPointerException

答案 1 :(得分:3)

在使用之前,您需要初始化HashMap。内置于对象的默认值为null

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