.containsKey中的Java NullPointerException
我对Java非常陌生。试图访问HashMap.containsKey中的Java NullPointerException,java,nullpointerexception,Java,Nullpointerexception,我对Java非常陌生。试图访问HashMapobservationMap中的字段,当我检查HashMap是否包含键时,会被告知存在NullPointerException。特别是在getEventSpeed()方法中 .containsKey()应返回NULL,因此不清楚此行如何导致if语句出现问题 谢谢你的帮助 public class IsDrivingObservation { private Map<String,String> observationMap; p
observationMap
中的字段,当我检查HashMap
是否包含键时,会被告知存在NullPointerException
。特别是在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);
}
}
公共类是驱动观察{
私人地图观测地图;
公共字符串getEventSpeed(){
if(observationMap.containsKey(“事件速度”)){
返回observationMap.get(“eventSpeed”);
}
返回“foo”;
}
public void setEventSpeed(字符串速度){
观测地图。放置(“事件速度”,速度);
}
}
您永远不会创建观测地图。试试这个:
private Map<String,String> observationMap = new HashMap<>();
private-Map-observationMap=new-HashMap();
否则,您将在两种方法中获得NPE
。
这取决于您首先调用的方法。嗨,Stefan,谢谢您的及时回复。“现在看来很明显了。”娜塔莎·惠特尼很高兴帮助你。点击我答案左上角的白色钩子,你就可以自由地接受我的答案。