2015-12-14 72 views
1

我對Java很陌生。試圖訪問HashMap observationMap中的一個字段,並且當我檢查HashMap是否包含密鑰時,我被告知有一個NullPointerException。特別是在getEventSpeed()方法中。.containsKey中的Java NullPointerException異常

.containsKey()應該返回NULL,所以不清楚這條線如何導致if語句的問題?

謝謝您的幫助

public class IsDrivingObservation { 

    private Map<String,String> observationMap; 

    public String getEventSpeed() { 
    if (observationMap.containsKey("eventSpeed")) { 
     return observationMap.get("eventSpeed"); 
    } 
    return "foo"; 
    } 

    public void setEventSpeed(String speed) { 
    observationMap.put("eventSpeed", speed); 
    } 

} 

回答

2

你從來沒有創建observationMap。試試這個:

private Map<String,String> observationMap = new HashMap<>(); 

否則你會在你的兩種方法中得到NPE。 這取決於您首先調用哪種方法。

+0

嗨Stefan,謝謝你的及時迴應。現在看起來很明顯。 –

+0

@Natasha惠特尼很高興幫助你。隨時點擊答案左上角的白色鉤子,接受我的答案。 –

相關問題