小编典典

当我使用Java 8 Stream.of原始类型时,结果感到困惑

java

byte[] a = {1,2,3};
System.out.println(Stream.of(a).count());

    Byte[] b = {1,2,3};
    System.out.println(Stream.of(b).count());

结果是1和3,为什么呢?


阅读 213

收藏
2020-10-16

共1个答案

小编典典

Stream.of仅接受对象作为其参数。A
byte不是对象,但byte数组是。如果a是的数组byte,则Stream.of(a)只能表示“该对象的流,它是数组”。

如果您有一个Byte[]数组,那么数组的每个元素都是一个对象,因此编译器可以猜测这就是您的意思。

这里提供有关如何流传输字节数组的信息: 在Java
8中,是否存在ByteStream类?

2020-10-16