private void testBufferOrder() {
System.out.println("当前系统order="+ByteOrder.nativeOrder());
ByteBuffer buffer = ByteBuffer.allocate(20);
// 获取默认的byte顺序
ByteOrder order = buffer.order(); //
System.out.println("当前order="+order);
buffer.putShort(0, (short)1);
buffer.get(0);
System.out.println("此时取出0:"+buffer.get(0));
buffer.get(1);
System.out.println("此时取出1:"+buffer.get(1));
buffer.order(ByteOrder.LITTLE_ENDIAN);
System.out.println("当前order="+buffer.order());
buffer.putShort(0, (short)1);
buffer.get(0);
System.out.println("此时取出1:"+buffer.get(0));
buffer.get(1);
System.out.println("此时取出0:"+buffer.get(1));
}
本文通过一个简单的测试案例展示了如何使用Java的ByteBuffer来改变字节顺序,并观察不同字节顺序下短整型数据的存储方式。首先获取了系统默认的字节顺序,接着创建了一个ByteBuffer实例并设置了不同的字节顺序(如Little Endian),最后通过putShort方法插入数据并读取,展示了字节顺序变化前后数据存储的不同。
601

被折叠的 条评论
为什么被折叠?



