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