首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

慎用 Arrays.asList

Arrays.asList 方法应该是各位最常用的数组一键转换为 List 的方法了,但这个方法有几个坑,如果不了解的话,排查 Bug 可能会比较困难: 坑 1:不能直接使用 Arrays.asList...来转换基本类型数组 坑 2:Arrays.asList 返回的 List 不支持增删操作 坑 3:对原始数组的修改会影响 Arras.asList 返回的那个 List 第一个坑 在如下代码中,我们初始化三个数字的...int[]数组,然后使用 Arrays.asList 把数组转换为 List: 但,这样初始化的 List 并不是我们期望的包含 3 个数字的 List,输出结果如下: 可以发现,这个 List 包含的其实是一个...Arrays.asList 方法传入的是一个泛型 T 类型可变参数,所以 int 数组实际上是被整体看成一个对象作为泛型类型 T: 以上,就是第一个坑:不能直接使用 Arrays.asList 来转换基本类型数组...所以,我们要特别小心,把通过 Arrays.asList 获得的 List 交给其他方法处理,很容易因为共享数组,相互修改而产生 Bug。

12610
领券