首页 > 解决方案 > int [](整数数组)与Java中的对象类关系

问题描述

我知道 Object 类是 Java 中所有类的根类,我想知道 int[] 和 Object 类之间的关系。

Arrays.stream() 可以接受 int[]、long[]、double[] 和 Object[] 的 arg。

当我遇到将 int[] 赋予泛型类型 ( Stream<int[]>) 的代码时,此代码有效,我们只为 Stream 提供类。

此代码的输出也是十六进制代码而不是整数

        int arr[] = { 1, 2, 3, 4, 5 }; 

        // --------- Using Arrays.stream() --------- 

        // to convert int array into Stream 
        IntStream intStream = Arrays.stream(arr); 

        // Displaying elements in Stream 
        intStream.forEach(str -> System.out.print(str + " ")); // {1,2,3,4,5]

        // --------- Using Stream.of() --------- 

        // to convert int array into Stream 
        Stream<int[]> stream = Stream.of(arr); 

        // Displaying elements in Stream 
        stream.forEach(str -> System.out.print(str + " ")); // I@asdf

标签: javagenericsjava-stream

解决方案


intStream.forEach(str -> System.out.print(str + " "));每个str将是类型int。但在stream.forEach(str -> System.out.print(str + " "));每个str都是类型int[]。因此输出的差异。

要打印原始数组,您需要使用Arrays.toString如下:

stream.forEach(str -> System.out.print(Arrays.toString(str) + "\n"));

推荐阅读