【发布时间】:2019-02-25 10:34:01
【问题描述】:
通过Streams 在java 中连接两个String[] 或Integer[] 有一些简单的解决方案。由于经常使用int[]。有什么直接的方法可以连接两个int[]?
这是我的想法:
int[] c = {1, 34};
int[] d = {3, 1, 5};
Integer[] cc = IntStream.of(c).boxed().toArray(Integer[]::new);
Integer[] dd = Arrays.stream(d).boxed().toArray(Integer[]::new);
int[] m = Stream.concat(Stream.of(cc), Stream.of(dd)).mapToInt(Integer::intValue).toArray();
System.out.println(Arrays.toString(m));
>>
[1, 34, 3, 1, 5]
它有效,但它实际上将int[] 转换为Integer[],然后再次将Integer[] 转换回int[]。
【问题讨论】:
-
这里有多种连接数组的解决方案:stackoverflow.com/questions/80476/… 虽然它们并不特定于 int。
标签: java arrays lambda java-8 java-stream