网站源码库,前端做的比较好的网站,海南网络营销,淮安做微信网站Java Collections.emptyList方法的使用及注意事项
一、emptyList()
作用#xff1a;返回一个空的List#xff08;使用前提是不会再对返回的list进行增加和删除操作#xff09;#xff1b;好处#xff1a; 1. new ArrayList()创建时有初始大小#xff0c;占用内存#…Java Collections.emptyList方法的使用及注意事项
一、emptyList()
作用返回一个空的List使用前提是不会再对返回的list进行增加和删除操作好处 1. new ArrayList()创建时有初始大小占用内存emptyList()不用创建一个新的对象可以减少内存开销 2. 方法返回一个emptyList()时不会报空指针异常如果直接返回Null没有进行非空判断就会报空指针异常注意此List与常用的List不同它是Collections类里的静态内部类在继承AbstractList后并没有实现add()、remove()等方法所以返回的List不能进行增加和删除元素操作。示例 Testpublic void test1() {String str ;ListString list getList(str);System.out.println(list.size());}private static ListString getList(String str) {if (StringUtils.isBlank(str)) {// 使用时不会报空指针return Collections.emptyList();// 使用null报空指针异常
// return null; }ListString list new ArrayListString();list.add(str);return list;}增删操作 Testpublic void test2() {String str abc;ListString list Collections.emptyList();list.add(str);System.out.println(list.size());}结果: 如果需要对collections.emptyList()进行增删操作的话就需要将collections.emptyList()转换成ArrayList()进行操作。 示例 Testpublic void test2() {String str abc;ListString list Collections.emptyList();ListString resultList new ArrayList(list);resultList.add(str);System.out.println(resultList.size());System.out.println(resultList);}结果