我对 Java 很陌生。尝试访问 HashMap 中的字段 observationMap
,并被告知有一个 NullPointerException
当我检查 HashMap
是否包含 key 。特别是在 getEventSpeed()
方法。
.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);
}
}
最佳答案
你永远不会创建observationMap
。试试这个:
private Map<String,String> observationMap = new HashMap<>();
否则您将在两种方法中得到NPE
。
这取决于您首先调用哪个方法。
关于.containsKey 中的 Java NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34262115/