Java将一个字符串数组映射到一个整数数组

时间:2017-05-09 18:25:26

标签: java java-8 integer java-stream

我在SO上发现了这个代码,用于将字符串映射到整数

Arrays.stream(myarray).mapToInt(Integer::parseInt).toArray();

但是如何使它映射到Integer类型而不是原始int?

我尝试从Integer.parseInt切换到Integer.valueOf,但似乎mapToInt()方法强制原始类型。

我有一个Integers数组的ArrayList,所以我不能使用原始的int。

2 个答案:

答案 0 :(得分:9)

由于StringInteger都是引用类型,因此您只需调用Stream::map即可转换数组。

Integer[] boxed = Stream.of(myarray).map(Integer::valueOf).toArray(Integer[]::new);

答案 1 :(得分:2)

您可以使用Stream<Integer> boxed()方法。

  

Stream<Integer> boxed()返回一个由元素组成的Stream   此流,每个装箱到整数。

ArrayList<Integer[]> resultSet = new ArrayList<>();
resultSet.add(Arrays.stream(myarray).mapToInt(Integer::parseInt).boxed().toArray(Integer[]::new));