一、Collection接口的 size 方法和 isEmpty方法
int size()
返回列表中元素的数目,如果这个列表包含超过Integer.MAX_VALUE,则返回Integer.MAX_VALUE
16进制0x7fffffff 10进制2147483647
所以说一个List 容器中最多可以存 21亿多个对象的引用 (null对象也算)
boolean isEmpty()
是否该列表不包含元素
所以说boolean isEmpty()和int size() ==0意思一样,没有区别
list == null 代表这个list 这个引用是否指向的是null 还是 new ArrayList();
从数据库里查询出一个数据list怎么判断?
if (list !=null && !list.isEmpty())
这样写是否正确,研究下大神们怎么写的
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-collections4</artifactId>
<version>4.1</version>
</dependency>
//判断是否为空
public static boolean isEmpty(final Collection<?> coll) {
return coll == null || coll.isEmpty();
}
map是否可以判断?
我们知道Collection和Map是两种不同的接口,所以说不能,那要怎么判断呢?
二、Map接口的 size 方法和 isEmpty方法
int size()
返回map中key-value的数目,如果这个map包含超过Integer.MAX_VALUE,则返回Integer.MAX_VALUE
16进制0x7fffffff 10进制2147483647
boolean isEmpty()
是否该map不包含key-value元素
map 判断出怎么判断呢?应该是同理
if (map != null && !map.isEmpty())
<dependency>
<groupId>com.xiaoleilu</groupId>
<artifactId>hutool-all</artifactId>
<version>3.2.3</version>
</dependency>
/**
* Map是否为空
*
* @param map 集合
* @return 是否为空
*/
public static boolean isEmpty(Map<?, ?> map) {
return null == map || map.isEmpty();
}
/**
* Map是否为非空
*
* @param map 集合
* @return 是否为非空
*/
public static boolean isNotEmpty(Map<?, ?> map) {
return null != map && false == map.isEmpty();
}