public int size() {return 0;} 1. emptyList和EMPTY_LIST的区别,我们看下源码: /** * The empty list (immutable). This list is serializable. * * @see #emptyList() */ @SuppressWarnings("unchecked") public static final List EMPTY_LIST = new EmptyList<>(); 1. 2. 3. 4. 5. 6. 7...
下面是一个示例代码,展示了如何实现返回一个空集合的方法。 importjava.util.ArrayList;importjava.util.List;publicclassExample{publicstaticList<String>getEmptyList(){List<String>emptyList=newArrayList<>();returnemptyList;}publicstaticvoidmain(String[]args){List<String>myList=getEmptyList();System.out.pr...
return emptyListIterator(); } publicint size() {return0;} publicboolean isEmpty() {returntrue;} publicboolean contains(Object obj) {returnfalse;} publicboolean containsAll(Collection<?> c) {return c.isEmpty(); } public Object[] toArray() {returnnew Object[0]; } public <T> T[] toAr...
}publicListIterator<E>listIterator() {returnemptyListIterator(); }publicintsize() {return0;}publicbooleanisEmpty() {returntrue;}publicbooleancontains(Object obj) {returnfalse;}publicbooleancontainsAll(Collection<?> c) {returnc.isEmpty(); }publicObject[] toArray() {returnnewObject[0]; }public...
returnCollections.EMPTY_LIST; AI代码助手复制代码 我们都知道返回null,很有可能造成空指针异常,可以使用emptyList或EMPTY_LIST就可以避免这个问题,除非你想捕获这个为空的信息 我们在使用emptyList空的方法返回空集合的时候要注意,这个空集合是不可变的。
buildList方法中可能会返回一个"空的List",后续还可能往这个List添加元素(或者移除元素),但是没有注意Collections.emptyList方法返回的是一个EMPTY_LIST: public static finalListemptyList() { return (List) EMPTY_LIST; } 它是一个static final修饰的成员变量,是一个EmptyList类的实例: ...
return new ArrayList<>(); 解析: 先看下源码,其实就是返回了一个常量 list。 EmptyList 继承 AbstractList<E> 仔细查看源码你会发现它没有实现 add() 和 remove() 方法。 使用Collections.emptyList();的好处就是能节省内存开销,因为它一直引用同一对象地址而 new ArrayList<>();是生成新的对象(每次当 new...
publicstaticfinal<T> List<T> emptyList() { return(List<T>) EMPTY_LIST; } 从上面我们可以看出,emptyList不过是对EMPTY_LIST做了一个泛型支持。这点上我们就可以很清晰的了解两者不同的使用场景了!若是不需要泛型的情况,可以直接使用Collections,反之则使用emptyList(). ...
而Collections.emptyList()返回的是个静态对象: public static final List EMPTY_LIST = new EmptyList<>(); 也就是说不需要再创建一个新对象,可以减少内存开销。 它不是坑,是设计时的一种考量。只不过在楼主在不看源码的时候,对这个对象有误解罢了。
Collections的emptyList、EMPTY_LIST使⽤ 今天在看⼤佬写的代码的时候,结果集为空的情况,他返回的不是null,⽽是:return Collections.EMPTY_LIST;我们都知道返回null,很有可能造成空指针异常,可以使⽤emptyList或EMPTY_LIST就可以避免这个问题,除⾮你想捕获这个为空的信息 我们在使⽤emptyList空的⽅法...