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

Fio*_*dor 4 java integer java-8 java-stream

我在SO上找到了这个代码来将字符串映射到整数

Arrays.stream(myarray).mapToInt(Integer::parseInt).toArray();
Run Code Online (Sandbox Code Playgroud)

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

我尝试切换Integer.parseIntInteger.valueOf,但似乎该mapToInt()方法强制原始类型.

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

Flo*_*own 9

由于StringInteger都是引用类型,您可以简单地调用Stream::map转换数组.

Integer[] boxed = Stream.of(myarray).map(Integer::valueOf).toArray(Integer[]::new);
Run Code Online (Sandbox Code Playgroud)


Ous*_* D. 5

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

Stream<Integer> boxed()返回一个由该流的元素组成的 Stream,每个元素装箱为一个 Integer。

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