1 List判空
虽然 Collection的List本身具有.isEmpty()方法判空,但是,
使用CollectionUtils.isEmpty(list),可避免第一种方法在集合为null的情况下出现的空指针问题。
2 数组转List
Arrays.asList();
Collections.singletonList();
Collections.singletonList(something)是不可变的,而Arrays.asList(something)是一个固定大小的List表示的数组,其中列表和数组加入堆中。
Arrays.asList(something)允许对其进行非结构更改,这将同时反映到列表和连接数组中。它抛出UnsupportedOperationException来添加、删除元素,尽管您可以为特定索引设置元素。
对Collections.singletonList(something)返回的列表所做的任何更改都将导致UnsupportedOperationException。
另外,由Collections.singletonList(something)返回的列表的容量始终是1,而不像Arrays.asList(something),后者的容量将是备份数组的大小。
singletonList将占用更少的内存。