【JAVA每日分享-2】你还在return new ArrayList;?LOW了点

299 阅读1分钟

干货:

  因某些业务要求,需要返回一个空数组,就可用
return Collections.emptyList();代替return new ArrayList<>();
解析:
  先看下源码,其实就是返回了一个常量 list。


EmptyList 继承 AbstractList 仔细查看源码你会发现它没有实现 add() 和 remove() 方法

使用 Collections.emptyList();的好处就是能节省内存开销,因为它一直引用同一对象地址而 new ArrayList<>();是生成新的对象(每次当 new 一个对象的时候就会在堆中为它分配一块内存)。
EmptyList 不想让你碰人家,你还强行非礼,那就会~


歌曲推荐: 陈冠蒲《太多》
如有哪些地方有歧义望指正。分享java开发相关的各种知识。欢迎大家一起探讨、学习。