Java 字符串数组到整数的集合?

Java 字符串数组到整数的集合?,java,arrays,java-8,Java,Arrays,Java 8,将字符串[]转换为集合的简单方法是什么?我现在就是这样做的,但不确定是否好: String[] myStringNumbers; Arrays.stream(Arrays.asList(myStringNumbers).stream().mapToInt(Integer::parseInt).toArray()).boxed().collect( Collectors.toList()); 您不需要创建中间数组。只需解析和收集(通过静态导入收集器。to

字符串[]
转换为
集合的简单方法是什么?我现在就是这样做的,但不确定是否好:

String[] myStringNumbers;

Arrays.stream(Arrays.asList(myStringNumbers).stream().mapToInt(Integer::parseInt).toArray()).boxed().collect(
                    Collectors.toList());

您不需要创建中间数组。只需解析和收集(通过静态导入
收集器。toList
):


无需使用
parseInt
,因为它会将结果装箱到集合中,并且@Misha声明您可以使用
Arrays.stream
创建流。因此,您可以使用以下选项:

Arrays.stream(myStringNumbers).map(Integer::decode).collect(Collectors.toList());
请注意,这不会进行任何错误处理(如果您不希望意外,数字不应以
0
#
0x
开头)。如果您只想要以10为基数的数字,
Integer::valueOf
是一个更好的选择。

以下是我的想法:

String[] myStringNumbers = {"1", "2"};
List<Integer> list = Stream.of(myStringNumbers).map(Integer::valueOf).collect(Collectors.toList());
String[]myStringNumbers={“1”,“2”};
List List=Stream.of(myStringNumbers).map(Integer::valueOf).collect(Collectors.toList());

我希望能有所帮助。:)

在这两种情况下,
int
值都是装箱的,因此使用
valueOf
还是
parseInt
都没有区别。建议使用不同的方法,比如
decode
,然后警告由于该方法具有不同的用途而引起的意外,这是非常奇怪的。
String[] myStringNumbers = {"1", "2"};
List<Integer> list = Stream.of(myStringNumbers).map(Integer::valueOf).collect(Collectors.toList());