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());