gpt4 book ai didi

java - 从 byte[] 创建一个 Stream 到原始字节 Stream

转载 作者:行者123 更新时间:2023-11-30 06:01:05 25 4
gpt4 key购买 nike

我有一个byte[],我想制作一个字节流。

对于 int[]longdouble,我在 Arrays 类中看到方法:

Arrays.stream(int[] array)
Arrays.stream(long[] array)
Arrays.stream(double[] array)

但是,我没有看到任何方法 Arrays.stream(byte[] array)

然后将字节基元流作为实际字节最简单和最简洁的方法是什么?

我需要对 byte[] 进行转换,我需要一个字节流来使用所有 Stream 函数来完成它(不,我不想将它们全部转换为整数。)

谁有好的解决方案?

附言。其他人正在向我提供来自微 Controller API 的 byte[] ......所以如果没有必要,我不想使用其他数据类型。

谢谢。

最佳答案

A Stream<Byte> Byte#valueOf 以来,它与基元的字节流一样好。返回装箱值的缓存实例(编译器会为您处理装箱和拆箱)。那么唯一的技巧就是把你的byte[]进入Stream<Byte> .

一种方法是创建一个 IntStream的索引,然后将这些索引映射到对您的 byte[] 的查找中:

byte[] byteArray = "hello".getBytes();
Stream<Byte> byteStream = IntStream.range(0, byteArray.length)
.mapToObj(i -> byteArray[i]);

我不知道 JDK 中有任何辅助方法可以为您执行此操作。

关于java - 从 byte[] 创建一个 Stream 到原始字节 Stream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59003896/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com