小编pde*_*ver的帖子

Java 8 中 ByteBuffer 和 BitSet 的奇怪行为

我是 java 新手,并开始使用 BitSet 和 ByteBuffer 实现 UDP 发送器,由于某种原因,我得到了我意想不到的行为。

import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.util.BitSet;

public class Main
{
    public static void main(String[] args) {
        
        ByteBuffer out = ByteBuffer.allocate(2);
        BitSet byt = new BitSet(8);
        byt.set(0, true);
        byt.set(1, false);
        out.put(byt.toByteArray());
        byt.set(0, true);
        byt.set(1, false);
        byt.set(2, true);
        out.put(byt.toByteArray());
        
        System.out.println("First byte is " + out.array()[0]+ " second is " + out.array()[1]);
    }
}
Run Code Online (Sandbox Code Playgroud)

我在哪里得到输出

First byte is 1 second is 5
Run Code Online (Sandbox Code Playgroud)

我认为这是不行的,因为字节序是错误的

当我尝试运行这个时:

public class Main
{
    public static void main(String[] args) { …
Run Code Online (Sandbox Code Playgroud)

java bytebuffer

1
推荐指数
1
解决办法
65
查看次数

标签 统计

bytebuffer ×1

java ×1