如何验证map是否为null或不是泛型

时间:2014-07-07 09:14:34

标签: java collections

我需要验证Map值是否为null,因为我使用集合工作,愿意实现验证map值的通用方法,所以尝试了这个

public boolean checkNull(Map<String,Object> data){

        if(data != null && !data.isEmpty()){
            return true;
        }
        return false;
    }

现在我只能用键作为字符串和值作为对象来验证我的映射,但我还需要使用任何类型的映射Map或Map.etc来检查此null条件, 那么我该如何做一个通用函数来验证这个地图过程呢。

  public boolean checkNull(Map<K,V> data){

            if(data != null && !data.isEmpty()){
                return true;
            }
            return false;
        }

有些人可以帮助我深入理解这个逻辑。

3 个答案:

答案 0 :(得分:2)

 public boolean checkNull(Map<String,?> data){

       // and you can also use this instead of the if:
       return data != null && !data.isEmpty();
    }

 public boolean checkNull(Map<?,?> data){

取决于已知或应由编译器检查的内容。

答案 1 :(得分:0)

尝试将Map<K,V> data替换为Map<?, ?> data

答案 2 :(得分:0)

使用此:

public <K, V> boolean checkNull(Map<K, V> entry){
    if(entry!=null&&!entry.isEmpty()){
        return true;
    }
    return false;
}

然后,您可以调用<String, Integer> checkNull(myStringAndIntegerMapInstance),以确保在运行时也输入引用问题。有关详情,请参阅javadoc