Avatar ·

将数组转换为列表(List)在Java中:如何正确且无错误?

大家好!我最近开始学习Java,遇到了这样一个任务:我需要将普通数组(例如String[])转换为列表(List)。看起来很简单,但我发现了一些陷阱。 假设我有一个字符串数组:
String[] array = {"a", "b", "c"};
我尝试使用Arrays.asList()方法:
List list = Arrays.asList(array);
看起来一切正常,但当我尝试向列表添加新元素时:
list.add("d");
却得到了UnsupportedOperationException异常。为什么会这样?毕竟List应该支持添加元素。 我还听说有一种方法是通过new ArrayList<>(Arrays.asList(...))。这和直接调用Arrays.asList()有什么区别? 还有一点:如果我修改原始数组中的元素,列表中的元素会改变吗?反过来呢? 感谢您的详细解释和示例。我想理解的不只是“如何做”,而是背后的原理。