我想验证一个集合是否为空和null。谁能告诉我最好的做法。

目前,我正在检查如下:

if (null == sampleMap || sampleMap.isEmpty()) {
  // do something
} 
else {
  // do something else
}

当前回答

你可以使用org.apache.commons.lang.Validate的"notEmpty"方法:

验证指定的参数集合既不是null也不是0的大小(没有元素);否则抛出异常。

其他回答

对于包括map在内的所有集合,使用:isEmpty方法,该方法存在于这些集合对象上。但你必须做一个空检查之前:

Map<String, String> map;

........
if(map!=null && !map.isEmpty())
......

如果你使用Spring框架,那么你可以使用CollectionUtils检查集合(List, Array)和Map等。

if(CollectionUtils.isEmpty(...)) {...}

就我个人而言,我更喜欢使用空集合而不是空集合,并且让算法以一种对算法来说集合是否为空无关紧要的方式工作。

你可以使用org.apache.commons.lang.Validate的"notEmpty"方法:

验证指定的参数集合既不是null也不是0的大小(没有元素);否则抛出异常。

我们将检查Collection对象是否为空。下面给出的所有方法都在org.apache.commons.collections4.CollectionUtils包中。

检查列表或集合对象的类型。

CollectionUtils.isEmpty(listObject);
CollectionUtils.isNotEmpty(listObject);

检查对象的映射类型。

MapUtils.isEmpty(mapObject);
MapUtils.isNotEmpty(mapObject);

所有方法的返回类型都是布尔型。