arrays.aslist 不能add
时间: 2023-04-25 08:02:45 浏览: 128
Arrays.asList() 返回的是一个固定大小的列表,不能进行添加或删除操作。如果需要进行添加或删除操作,可以将其转换为可变列表,例如:
```java
List<String> list = new ArrayList<>(Arrays.asList("a", "b", "c"));
list.add("d");
list.remove("a");
```
相关问题
Arrays.asList add报错
`Arrays.asList()`方法返回的是一个固定大小的列表,它的大小不可改变。因此,当你尝试使用`add()`方法向这个列表中添加元素时,会抛出`UnsupportedOperationException`异常。
要解决这个问题,你可以创建一个新的可变列表,并将`Arrays.asList()`返回的固定大小列表中的元素复制到新列表中,然后再进行添加操作。以下是一个示例代码:
```java
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Main {
public static void main(String[] args) {
List<Integer> fixedList = Arrays.asList(1, 2, 3);
List<Integer> mutableList = new ArrayList<>(fixedList);
mutableList.add(4);
System.out.println(mutableList);
}
}
```
在上面的示例中,我们首先使用`Arrays.asList()`方法创建了一个固定大小的列表`fixedList`,其中包含了整数1、2和3。然后,我们创建了一个新的可变列表`mutableList`,并将`fixedList`中的元素复制到`mutableList`中。接下来,我们使用`add()`方法向`mutableList`中添加了一个整数4。最后,打印出`mutableList`的内容。
通过这种方式,你可以在避免`UnsupportedOperationException`异常的情况下向列表中添加元素。
Arrays.aslist
Arrays.asList() 是 Java 中的一个静态方法,用于将数组转换为 List 集合。它的作用是方便我们在使用 List 的场景中直接使用数组进行初始化。
例如,我们可以使用以下代码将一个整型数组转换为 List:
```
Integer[] arr = {1, 2, 3};
List<Integer> list = Arrays.asList(arr);```
这样,我们就可以直接使用 list 来操作数组中的元素了。
需要注意的是,Arrays.asList() 返回的 List 对象并不是 java.util.ArrayList 类型的对象,而是 Arrays 的内部类 ArrayList。这个内部类并没有实现 add()、remove() 等方法,因此在使用时需要注意。
阅读全文