Arrays.asList之后不要调用修改操作

简介: Arrays.asList之后不要调用修改操作
String[] str = new String[] { "you", "wu" };
List list = Arrays.asList(str);

因为asList返回的实际是一个Arrays内部类,并没有实现集合的修改方法(add/remove/clear)// 当操作修改方法时,会报UnsupportedOperationException。

第一种情况:list.add("yangguanbao"); 运行时异常。

第二种情况:str[0] = "gujin"; 那么 list.get(0)也会随之修改。[涉及栈堆指针操作,修改数组的数据,导致同样引用该数据的list值被改变]

image.png

相关文章
Arrays.asList、ArrayList.subList使用规范
Arrays.asList、ArrayList.subList使用规范
|
3月前
|
Java
CTO的严厉警告:慎用Arrays.asList与ArrayList.subList
【8月更文挑战第13天】在软件开发的世界里,每一个决定都可能对项目的成败产生深远影响。作为CTO,我时常需要站在技术战略的高度,审视团队中的每一个技术选择。今天,我想就两个常被误用或滥用的Java集合操作——Arrays.asList和ArrayList.subList——分享一些深刻的见解,希望能为工作学习中的技术同仁敲响警钟。
29 6
|
Java API Apache
Arrays.asList():使用指南
Arrays.asList() 是一个 Java 的静态方法,它可以把一个数组或者多个参数转换成一个 List 集合。这个方法可以作为数组和集合之间的桥梁,方便我们使用集合的一些方法和特性。本文将给大家介绍 Arrays.asList() 的语法、应用场景、坑点和总结。
202 0
|
Java C++
List.of() Vs Arrays.asList()
在上面的示例中,List.of() 用于创建不可变的颜色列表。任何通过添加或删除元素来修改列表的尝试都将导致抛出异常。 Arrays.asList() 当我们想要由指定数组支持的固定大小(可序列化)集合时,请使用此方法。对返回集合的任何更改也将写入原始数组。 java
70 0
|
Java
Arrays.asList()方法 讲解
Arrays.asList()方法 讲解
121 0
|
Java
Java开发规范01 - 集合篇_Arrays.asList 坑
Java开发规范01 - 集合篇_Arrays.asList 坑
131 0
|
Java API
Arrays.asList注意事项
Arrays.asList注意事项
|
安全 Java API
Arrays.asList 解析
快速学习方法的定义 | 学习笔记
101 0
|
安全
2.ArrayList和LinkedList的区别是什么?
2.ArrayList和LinkedList的区别是什么?
111 1