这不是一个重复的问题,因为我特别要求将字符串数组转换为整数列表。换句话说,同时转换不同类型的列表和不同的对象类型。
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());
有没有更快或更实用的方法来做到这一点?
最佳答案
您只需直播一次。
而不是使用 int Integer::parseInt(String s)
,你应该使用Integer Integer::valueOf(String s)
,因此您不必调用 boxed()
或依赖自动装箱。
然后直接使用collect(Collectors.toList())
,而不是先创建中间数组。
List<Integer> allAnswerList = Arrays.stream(allAnswers) // stream of String
.map(Integer::valueOf) // stream of Integer
.collect(Collectors.toList());
关于java - 将字符串数组转换为整数列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52509610/