java List判空和数组转list

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将占用更少的内存。

posted @ 2020-05-22 15:48  江湖凶险  阅读(912)  评论(0编辑  收藏  举报