java - 带流的字节数组到 int 数组

标签 java arrays java-stream bitwise-and

我试图对带有流的字节数组进行按位操作,但它给出了错误“不可转换类型;无法将 'byte[]' 转换为 'int'”。我想通过流将字节数组中的每个项目按位 0xff 。

byte[] packet;
//this does not work
Stream.of(packet).parallel().map(e->(int)e&0xff)//then put int into an  array or list

//basically this is what I am trying to do with streams
    int[] castedValues = new int[packet.length];
    for (int i = 0; i < packet.length; i++) {
        castedValues[i] = packet[i];
    }

最佳答案

Java 没有字节流。但您可以改为迭代索引:

IntStream.range(0, packet.length)
        .map(i -> packet[i] & 0xff)

除非你正在做一些繁重的处理,否则我不会费心使用parallel()

关于java - 带流的字节数组到 int 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51681189/

相关文章:

java - IntelliJ 问题 - 无法运行简单的 Spring 应用程序

java - JAVA中的 session 管理 : Basic Doubts

php - Mailgun 发送邮件 laravel

java - 如何在 Java 中关闭隐式流?

Java流收集作为使用流元素作为键和收集列表作为值的映射?

java - 对于 Java 中的每个循环都有字数

java - 我怎样才能修复嵌套?

javascript - 如何在javascript中的随机函数中使用参数?

arrays - Ruby:在散列中分配数组值

java-8 - java lambdaj 'variable_name' 无法解析为变量错误