正经学徒,佛系记录,不搞事情
干货:
因某些业务要求,需要返回一个空数组,就可用
return Collections.emptyList();
代替
return new ArrayList<>();
解析:
先看下源码,其实就是返回了一个常量 list。
EmptyList 继承 AbstractList 仔细查看源码你会发现它没有实现 add() 和 remove() 方法。
使用 Collections.emptyList();的好处就是能节省内存开销,因为它一直引用同一对象地址而 new ArrayList<>();是生成新的对象(每次当 new 一个对象的时候就会在堆中为它分配一块内存)。
EmptyList 不想让你碰人家,你还强行非礼,那就会~