【JAVA每日分享-2】
干货:因某些业务要求,需要返回一个空数组,就可用
return Collections.emptyList(); 代替
return new ArrayList<>();
解析:
先看下源码,其实就是返回了一个常量 list。
EmptyList 继承 AbstractList<E> 仔细查看源码你会发现它没有实现 add() 和 remove() 方法。
使用 Collections.emptyList();的好处就是能节省内存开销,因为它一直引用同一对象地址而 new ArrayList<>();是生成新的对象(每次当 new 一个对象的时候就会在堆中为它分配一块内存)。
EmptyList 不想让你碰人家,你还强行非礼,那就会~
歌曲推荐: 陈冠蒲《太多》
如有哪些地方有歧义望指正。分享java开发相关的各种知识。欢迎大家一起探讨、学习。