简体   繁体   English

Java 8 将 int[][] 转换为 Integer[][] 的方法

[英]Java 8 way to convert int[][] to Integer[][]

How to convert java int[][] to Integer[][] ?如何将java int[][]转换为Integer[][] .It seems easy to convert single dimensional primitive array to Object type single dimensional array using java stream. .使用java流将一维原始数组转换为对象类型的一维数组似乎很容易。

For example例如

Integer[] result = IntStream.of( intarray ).boxed().toArray( Integer[]::new );

Is there any way for two dimensional array like above ?有没有办法像上面这样的二维数组?

You can do the same thing within a map operation您可以在map操作中做同样的事情

int[][] twoDimenArray = {};
Integer[][] result = Stream.of(twoDimenArray)
    .map(array -> IntStream.of(array).boxed().toArray(Integer[]::new))
    .toArray(Integer[][]::new);

You can use Arrays.stream method:您可以使用Arrays.stream方法:

int[][] arr1 = {};

Integer[][] arr2 = Arrays.stream(arr1)
        .map(row -> Arrays.stream(row)
                .boxed()
                .toArray(Integer[]::new))
        .toArray(Integer[][]::new);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM