java int转byte[]
时间: 2023-09-21 12:02:58 浏览: 29
在Java中,可以使用以下代码将int类型转换为byte数组:
```
int num = 123456;
byte[] bytes = new byte[4];
bytes[0] = (byte) (num >> 24);
bytes[1] = (byte) (num >> 16);
bytes[2] = (byte) (num >> 8);
bytes[3] = (byte) num;
```
在这个示例中,我们首先初始化了一个整数变量num作为例子。然后我们创建一个长度为4的byte数组来保存转换后的值。
接下来,我们使用位移运算符将int值转换为byte数组。我们使用右移运算符将整数num的每个字节向右移动8位,并将结果强制转换为byte类型,以便将其保存在byte数组中。
最后,我们将byte数组输出,以查看转换后的值:
```
System.out.println(Arrays.toString(bytes));
```
输出结果为:
```
[-75, -91, 1, -48]
```
相关问题
Java int转byte数组
将int类型的数据转换为byte数组可以使用Java中的ByteBuffer类,代码如下:
```java
int num = 12345;
byte[] bytes = ByteBuffer.allocate(4).putInt(num).array();
```
上述代码中,首先创建了一个int类型的变量num,然后使用ByteBuffer类的allocate方法创建一个容量为4字节的ByteBuffer对象,再使用putInt方法将num的值存储到ByteBuffer对象中,最后调用array方法将ByteBuffer对象转换为byte数组。
需要注意的是,上述代码中转换出来的byte数组是大端序的,如果需要使用小端序的byte数组,可以使用如下代码:
```java
int num = 12345;
byte[] bytes = new byte[4];
for (int i = 0; i < 4; i++) {
bytes[i] = (byte) (num >> (i * 8));
}
```
上述代码中,首先创建了一个长度为4的byte数组,然后使用循环将int类型的数据按小端序转换为byte数组。具体来说,通过右移运算将num的每个字节分别取出来,并将其转换为byte类型存储到byte数组中。
java int转byte数组大端序
要将Java中的int转换为大端序的字节数组,可以使用ByteBuffer类的putInt方法,并将结果转换为字节数组。以下是一个示例代码:
```java
int num = 123456789;
ByteBuffer buffer = ByteBuffer.allocate(4);
buffer.putInt(num);
byte[] byteArray = buffer.array();
```
在上述代码中,我们首先创建了一个ByteBuffer对象,并指定了容量为4个字节。然后,我们使用putInt方法将int类型的数值放入ByteBuffer对象中。最后,我们通过调用array方法将ByteBuffer对象转换为字节数组。