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

2022-09-02 20:53:29

我在SO上找到了这个代码,用于将字符串映射到int

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

但是我如何使它映射到整数类型而不是基元int?

我尝试从 切换到 ,但似乎该方法强制使用基元类型。Integer.parseIntInteger.valueOfmapToInt()

我有一个整数数组的 ArrayList,所以我不能使用基元 ints。


答案 1

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

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

答案 2

您可以使用 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));