一、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(); }