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

Posted

技术标签:

【中文标题】Java 8 将 int[][] 转换为 Integer[][] 的方法【英文标题】:Java 8 way to convert int[][] to Integer[][] 【发布时间】:2020-06-14 20:24:14 【问题描述】:

如何将java int[][] 转换为Integer[][] ? .使用java流将一维原始数组转换为Object类型的一维数组似乎很容易。

例如

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

上面的二维数组有什么办法吗?

【问题讨论】:

【参考方案1】:

您可以在 map 操作中执行相同的操作

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

【讨论】:

【参考方案2】:

你可以使用Arrays.stream方法:

int[][] arr1 = ;

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

【讨论】:

以上是关于Java 8 将 int[][] 转换为 Integer[][] 的方法的主要内容,如果未能解决你的问题,请参考以下文章

java中int怎样转换成char

java中String,int,Integer,chardouble类型转换

JAVA中int强制转换byte

Java String字符串和整型int的相互转换

Java bytebuffer 将三个字节转换为 int

java中怎么将一个int转成高位在前的byte