首页 >Java >java教程 >如何在 Java 中将整数转换为字节数组?

如何在 Java 中将整数转换为字节数组?

Patricia Arquette
Patricia Arquette原创
2024-11-23 11:43:53639浏览

How to Convert an Integer to a Byte Array in Java?

将整数转换为字节数组(Java)

在 Java 中,可以使用多种方法实现将整数转换为字节数组。一种有效的方法涉及使用 ByteBuffer 类:

ByteBuffer b = ByteBuffer.allocate(4);
b.putInt(0xAABBCCDD);

byte[] result = b.array();

在上面的代码片段中,ByteBuffer 的字节顺序设置为 BIG_ENDIAN。结果,result[0] 包含最高有效字节 (0xAA),然后是 result[1] (0xBB)、result[2] (0xCC) 和 result[3] (0xDD)。

或者,您可以手动转换整数:

byte[] toBytes(int i) {
  byte[] result = new byte[4];

  result[0] = (byte) (i >> 24);
  result[1] = (byte) (i >> 16);
  result[2] = (byte) (i >> 8);
  result[3] = (byte) (i);

  return result;
}

ByteBuffer 类为此类任务提供了优化方法。值得注意的是,java.nio.Bits 定义了 ByteBuffer.putInt() 使用的辅助方法:

private static byte int3(int x) { return (byte)(x >> 24); }
private static byte int2(int x) { return (byte)(x >> 16); }
private static byte int1(int x) { return (byte)(x >>  8); }
private static byte int0(int x) { return (byte)(x >>  0); }

这些方法旨在有效地从整数中提取单个字节。

以上是如何在 Java 中将整数转换为字节数组?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn