1. 遇到好多次这样的问题了,直奔主题,附带测试
2. 数组转List:
核心代码是Arrays.asList(arr)
,示例:
import java.util.*;
public class asLists {
public static void main(String[] args) {
// 此处需要注意基本数据类型和包装类的接收方式
int[] arr = {1,2,3,4,5};
Integer[] arr1 = {1,2,3,4,5};
List<int[]> ints = Arrays.asList(arr);
List<Integer> integers = Arrays.asList(arr1);
// java8中流式处理方式
List<int[]> collect = Stream.of(arr).collect(Collectors.toList());
List<Integer> collect1 = Stream.of(arr1).collect(Collectors.toList());
}
}
asList基本数据类型和包装类声明踩坑,可以详见 传送门
3. List转数组:
核心代码是list.toArray()
,示例:
import java.util.*;
public class asLists {
public static void main(String[] args) {
List<String> list=new ArrayList<>();
list.add("dog");
list.add("cat");
list.add("cow");
// 注意,当声明转换的大小和类型时,自动返回对应类型,否则返回object类型
// 但是无论如何,返回都是包装类
String[] strings = list.toArray(new String[list.size()]);
Object[] objects = list.toArray();
// 流方式处理
String[] strings1 = list.stream().toArray(String[]::new);
Object[] objects1 = list.stream().toArray();
// 如整形
List<Integer> list1 = new ArrayList<>();
list1.add(1);
Integer[] integers = list1.toArray(new Integer[list1.size()]);
}
}