前言
我们架构师说使用 Arrays.asList 明天不用来了!
全是坑 千万别用 Arrays.asList
。。。
感觉到处都能看到这些话术,那我理解既然存在这个 api 为什么对这个敌意那么大呢,如果是 bug 应该不会存在 JDK 里面这么久吧,它跟 new ArrayList 的区别到底是什么呢?
生活经验告诉我 凡事都不能一棒子打死,存在总是有道理的。
一句话讲清楚 Arrays.asList是什么
不带你读源码!
一句话讲清楚 Arrays.asList 是什么!!!
Arrays.asList 本质是一个固定数组的包装器
既然底层是固定数组,那么不能增删、增删元素会报错也可以理解了吧。
如果明白了这个,那么使用它不是很简单吗,不进行增删不就行了,而且相对的它的对象内存利用率极高相较于 ArrayList (约节约了99.99%的比例),极致的轻量级、创建效率更高(约提升了15倍)。
明白了特性,使用起来也就得心应手了!
总结
不同场景 用不同的方法,不动态修改数组就可以用 而且性能更好、在需要修改的场景就不要用 因为修改会报错。