如何将String[]
转换为 Collection<Integer>
?以下为我目前的实现方式,但不确定是否是最佳实践:
String[] myStringNumbers;
Arrays.stream(Arrays.asList(myStringNumbers).stream().mapToInt(Integer::parseInt).toArray()).boxed().collect(
Collectors.toList());
Collectors.toList
):Arrays.stream(myStringNumbers).map(Integer::parseInt).collect(toList());
不必使用parseInt
,因为它会将结果装箱到集合中,正如 @Misha 所述,您可以使用Arrays.stream
创建流。 因此,您可以使用以下内容:
Arrays.stream(myStringNumbers).map(Integer::decode).collect(Collectors.toList());
0
,#
或0x
开头)。如果你只需要十进制数,Integer::valueOf
是更好的选择。这是我的想法:
String[] myStringNumbers = {"1", "2"};
List<Integer> list = Stream.of(myStringNumbers).map(Integer::valueOf).collect(Collectors.toList());
希望它能有所帮助。:)