当前位置: 首页 > 面试题库 >

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

柳联
2023-03-14
问题内容

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,为什么呢?


问题答案:

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

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

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



 类似资料:
  • SBT抛出以下错误: 对于以下代码块: 有人能解释一下这里发生了什么吗?一些细节: 我在命令行和intellij上都试过了。我也试过Java 11和Scala 2.11.12,但都没有用。 我无法在另一台机器(不同的操作系统、SBT、IntelliJ等)上复制这一点,我还可以编写一个最小的失败案例:

  • 版本:2.1.11 问题:我有一些错误的参数配置:max.poll.records:500 max.poll.interval.ms:10000。但消耗大约需要25000秒。因此,它将遇到异常:org.apache.kafka.clients.consumer.CommitFailedException:提交无法完成,因为组已经重新平衡并将分区分配给了另一个成员。这意味着对poll()的后续调用之

  • 我用这样的JAVA_OPTS启动了 jvm: 过了一段时间,当我查看GC日志时:

  • 但是如果我对if语句进行注释,则输出是正确的,即 所以,我不知道它为什么会发生,如何修复?这是我的代码:

  • 问题内容: 我正在做非常简单的int除法,而结果却很奇怪。 此代码按预期方式打印: 此代码打印为 不 期望: 这里发生了什么? (Windows XP Pro,Java 1.6在Eclipse 3.4.1中运行) 问题答案: 该值是一个 八进制 (以8 为底)常数。等于128(十进制)。 从Java语言规范的第3.10.1节开始: 八进制数字由一个ASCII数字0和一个或多个ASCII数字0至7组

  • 在我的myBatis映射器xml文件中,结果列名为但是结果哈希图有 我想是吧在列名中可能会出现问题。这个问题有什么解决办法吗?