雅典文案网-每一句都是好文案

数组和list之间相互转换的方法是怎样的?

在Java中,数组和`List`之间的相互转换可以通过以下几种方法实现:

从List转换为数组

使用`List`接口的`toArray()`方法。这个方法将`List`中的所有元素放入一个数组中,并返回该数组。如果指定的数组足够大,则直接使用该数组;否则,将分配一个新的数组,并根据需要将元素复制到数组中。

示例代码:

```java

List list = new ArrayList<>();

list.add("1");

list.add("2");

String[] arr = list.toArray(new String); // 使用0作为参数,让方法自动计算所需数组大小

```

从数组转换为List

使用`Arrays.asList()`方法。这个方法将数组转换为一个固定大小的`List`,不能对`List`进行增删改操作。

示例代码:

```java

String[] arr = {"1", "2", "3"};

List list = Arrays.asList(arr);

```

如果需要得到一个可以随意增删改的`List`,可以进一步使用`new ArrayList<>(Arrays.asList(arr))`进行包装。

示例代码:

```java

String[] arr = {"1", "2", "3"};

List list = new ArrayList<>(Arrays.asList(arr));

```

手动转换

可以通过遍历数组并将元素添加到`List`中来实现转换。

示例代码:

```java

String[] arr = {"1", "2", "3"};

List list = new ArrayList<>();

for (String s : arr) {

list.add(s);

}

```

这些方法提供了从`List`到数组和从数组到`List`的转换功能,可以根据具体需求选择合适的方法。如果需要频繁进行转换,建议封装成方法以便于代码复用。