JAVA:Map.get的map和返回类型

时间:2015-10-06 06:59:30

标签: java hashmap

我有String类型的键和值的hashmap。

Map<String, String> map = new HashMap<>();
//put the key-values now

我想检查特定键值的空值或空值。参考讨论 here,我这样做:

if("".equals(map.get("keyName")) {
    //do stuff
}

有效吗? 由于Map.get的返回类型是Object,因此我需要像这样检查它:

if("".equals(map.get("keyName").toString()) {
    //do stuff
}

但是toString()如果为null则给出空指针异常。那么,正确的方法是什么? 是的,我是初学者。

3 个答案:

答案 0 :(得分:1)

你可以这样做 -

String val = map.get("keyName");
if(val != null && !"".equals(val)){
    // val is not null and is not empty
}

答案 1 :(得分:0)

我建议您使用Apache Commons中的StringUtils:

if (!StringUtils.isEmpty(map.get("keyName")){
  // Do something
}

请参阅JavaDoc:https://commons.apache.org/proper/commons-lang/javadocs/api-2.6/org/apache/commons/lang/StringUtils.html#isEmpty%28java.lang.String%29

答案 2 :(得分:0)

你可以这样使用 -

if(map.get("keyName").equals(null) || map.get("keyName").equals("")){
     //Failed to insert code
}