[英]null check for hashmap key
我有一种情况需要检查null
。 我有一个名为dT
的密钥:
String dT = (String) caseChk.get("dT");
这将抛出NullPointerException
,因为该键本身不存在。 如果我检查
if(caseChk.get("dT") != null) {
// do something
}
由于.get
引发了另一个NullPointerException
。 当地图中的键不存在时,如何测试null
? 我知道put
方法应该处理它,但是那不在我的控制之下。
即使现在我也因为.get引发异常而得到nullpoiner
如果caseChk.get("dT")
只有您所在的那一行并且确定它caseChk
异常,则唯一的情况是caseChk
可以为null。
要确保密钥存在,您应该使用HashMap#containsKey(key)
函数。 密钥存在后,您可以使用HashMap#get(key)
获取值并将其与null进行比较。
caseChk coud为null试试看
String dT;
if(chaseChk!= null)
dT= (String)caseChk.get("dT");`
尝试使用方法检查null
public String checkNull_HashMap(Hashtable hashMap,String hashKey){
if (hashMap.get(hashKey) == null) {
return "";
} else {
return hashMap.get(hashKey).toString();
}
}
最好的选择是在调用toString()
之前检查null。
if ( hashMap.get(hashKey) != null ) { return hashMap.get(hashKey).toString(); }
试试这个,这将起作用。
if(!caseChk.isEmpty)
{
String dT = (caseChk.containsKey("dT")?(String)caseChk.get("dT"):" ")
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.