我在SO上发现了这个代码,用于将字符串映射到整数
Arrays.stream(myarray).mapToInt(Integer::parseInt).toArray();
但是如何使它映射到Integer类型而不是原始int?
我尝试从Integer.parseInt
切换到Integer.valueOf
,但似乎mapToInt()
方法强制原始类型。
我有一个Integers数组的ArrayList,所以我不能使用原始的int。
答案 0 :(得分:9)
由于String
和Integer
都是引用类型,因此您只需调用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));