Java 将字符串数组转换为整数列表?

Java 将字符串数组转换为整数列表?,java,arrays,list,arraylist,type-conversion,Java,Arrays,List,Arraylist,Type Conversion,这不是一个重复的问题,因为我特别要求将字符串数组转换为整数列表。换句话说,同时转换不同类型的列表和不同的对象类型 import java.util.*; import java.util.stream.Collectors; String[] allAnswers = {"2", "4", "1"} int[] allAnswersInts = Arrays.stream(allAnswers).mapToInt(Integer::parseInt).toArray(); List<

这不是一个重复的问题,因为我特别要求将字符串数组转换为整数列表。换句话说,同时转换不同类型的列表和不同的对象类型

import java.util.*;
import java.util.stream.Collectors;

String[] allAnswers = {"2", "4", "1"}

int[] allAnswersInts = Arrays.stream(allAnswers).mapToInt(Integer::parseInt).toArray();

List<Integer> allAnswerList = Arrays.stream(allAnswersInts).boxed().collect(Collectors.toList());
import java.util.*;
导入java.util.stream.collector;
字符串[]allAnswers={“2”、“4”、“1”}
int[]allAnswersInts=Arrays.stream(allAnswers).mapToInt(Integer::parseInt).toArray();
List allAnswerList=Arrays.stream(allAnswersInts.boxed().collect(Collectors.toList());

有没有更快或更实用的方法来实现这一点

您只需要流一次

您应该使用,而不是使用,这样您就不必调用
boxed()
或依赖自动装箱

然后直接使用
collect(Collectors.toList())
,而不是先创建中间数组

List<Integer> allAnswerList = Arrays.stream(allAnswers)    // stream of String
                                    .map(Integer::valueOf) // stream of Integer
                                    .collect(Collectors.toList());
List allAnswerList=Arrays.stream(allAnswers)//字符串流
.map(Integer::valueOf)//整数流
.collect(Collectors.toList());

@napadhayaya这不是一个重复的问题,因为我特别要求将字符串数组转换为整数列表。换句话说,同时转换不同类型的列表和不同的对象类型。虽然这个问题已经得到了回答和解决,但对于这个问题有一个非常简单(如果不是特别有效)的解决方案:linq提供了有用的扩展方法,如
ToArray
ToList
。看见