2012-11-02 2 views
0

시작시 실행되는 주 클래스에서 HashMap에 데이터를 저장하려고합니다. 그러나 그것은 HashMap이 null이며 데이터를 추가 할 수 없다는 것을 의미합니다.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

변경 그렇지 않으면 당신의 gunradiusnull를 가리키는 것이다

static HashMap<String, Integer> gunradius; 

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

에.

null의 모든 결과는 NullPointerException입니다.

+0

이며, 인터페이스가 아닌 구현 클래스에 프로그램하는 것이 더 좋을 것이다 영업 이익을 가르쳐 [? 새로운 객체를 선언 할 때 내가 구현 대 인터페이스를 사용해야하는 경우] (http://stackoverflow.com/q/4991516/1065197). –

+0

고마워, 나는 그 Luiggi를 꼭 읽어야한다. – DannyF247

관련 문제