如何将数组(array)转换为列表(List)?总是遇到错误
大家好!我是Java新手,一直搞不清楚如何将数组转换为列表。我需要将一个字符串数组传递给一个接受 `List` 的方法,但总是出问题。
这是我的代码:
```java
String[] array = {"apple", "banana", "cherry"};
List list = (List) array; // 编译错误:cannot cast
```
然后我尝试使用 `Arrays.asList()`:
```java
List list = Arrays.asList(array);
list.add("orange"); // 抛出 UnsupportedOperationException!
```
为什么 `Arrays.asList()` 不允许添加元素?我读到它返回一个列表,但它的行为很奇怪。我还听说过 `ArrayList` 和 `Collections.addAll()`,但不知道哪种方法正确以及它们的区别。
请告诉我如何正确且安全地将数组转换为一个完全可变的列表?以及为什么 `Arrays.asList()` 如此“有缺陷”?非常感谢代码示例和解释。