Vaagn Akopyan Asked:2020-12-08 18:58:11 +0000 UTC2020-12-08 18:58:11 +0000 UTC 2020-12-08 18:58:11 +0000 UTC 爪哇。如何将数组 []String 或 []int 分别转换为 List<String> 或 List<Integer>? 772 如何将数组分别转换为String[]或转换int[]为List<String>或List<Integer>?我了解如何通过循环来做到这一点,但我想知道是否有专门针对此的方法?可以不用循环吗?我请你举个例子。 java 4 个回答 Voted Best Answer Alex Chermenin 2020-12-08T19:11:39Z2020-12-08T19:11:39Z 如相邻答案中所述,对于引用类型,您可以使用Arrays.asList(array). 对于原语,您将不得不使用循环或 Stream API。例如,int[] array你可以这样写: List<Integer> list = IntStream.of(array).boxed().collect(Collectors.toList()); 对于long[]和double[]分别使用LongStream和DoubleStream。 而且,例如,boolean[]在任何情况下,您都需要绕过数组 - 如下所示: List<Boolean> list = IntStream.range(0, array.length).mapToObj(i -> array[i]) .collect(Collectors.toList()); Viktorov 2020-12-08T19:03:10Z2020-12-08T19:03:10Z 因为String[]你可以这样做: List<> list = Arrays.asList(array); 您可以使用 Stream API从int[]到:List<Integer> List<Integer> list2 = Arrays.stream(arr).boxed().collect(Collectors.toList()); Виктор 2020-12-08T19:15:15Z2020-12-08T19:15:15Z 我会再添加一种方式int[],如果项目中有google guava库,那么你可以这样做: List<Integer> list = Ints.asList(array); user420361 2021-12-15T02:29:40Z2021-12-15T02:29:40Z 如果有一个对象数组:String[],Integer[]等Double[]- 那么您可以使用该方法Arrays.asList: String[] arr = {"1.4", "2.3", "3.2", "4.1"}; List<String> list = Arrays.asList(arr); 如果有一个原语数组:int[],long[]或double[],-,那么我们使用Arrays.stream: int[] arr1 = {1, 2, 3, 4}; long[] arr2 = {1, 2, 3, 4}; List<Integer> list1 = Arrays.stream(arr1).boxed().collect(Collectors.toList()); List<Long> list2 = Arrays.stream(arr2).boxed().collect(Collectors.toList());
如相邻答案中所述,对于引用类型,您可以使用
Arrays.asList(array).对于原语,您将不得不使用循环或 Stream API。例如,
int[] array你可以这样写:对于
long[]和double[]分别使用LongStream和DoubleStream。而且,例如,
boolean[]在任何情况下,您都需要绕过数组 - 如下所示:因为
String[]你可以这样做:您可以使用 Stream API从
int[]到:List<Integer>我会再添加一种方式
int[],如果项目中有google guava库,那么你可以这样做:如果有一个对象数组:
String[],Integer[]等Double[]- 那么您可以使用该方法Arrays.asList:如果有一个原语数组:
int[],long[]或double[],-,那么我们使用Arrays.stream: