java list remove 内存_【JAVA每日分享-2】你还在return new ArrayList;?LOW了点

fc2bdf3b3f14d3952e0a4f56dffea672.png

【JAVA每日分享-2】

干货:因某些业务要求,需要返回一个空数组,就可用
return Collections.emptyList(); 代替
return new ArrayList<>();

解析:

先看下源码,其实就是返回了一个常量 list

9c0d95e94c6106ea9e9294be7244cd1e.png

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

使用 Collections.emptyList();的好处就是能节省内存开销,因为它一直引用同一对象地址而 new ArrayList<>();是生成新的对象(每次当 new 一个对象的时候就会在堆中为它分配一块内存)。

EmptyList 不想让你碰人家,你还强行非礼,那就会~

874276eb50730fabf3a2a5a4c00a4f69.png

歌曲推荐: 陈冠蒲《太多》

如有哪些地方有歧义望指正。分享java开发相关的各种知识。欢迎大家一起探讨、学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值