Java 将字节插入字节数组

Java 将字节插入字节数组,java,bytearray,byte,Java,Bytearray,Byte,我真不敢相信我会问这个问题,但我读到的所有东西要么是从int到byte再到string再到byte的转换,要么是别的什么。我实际上是想在字节数组中插入一个字节。或者,用字节而不是整数初始化字节数组 byte[] header = {0x8b, 0x1f, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03}; 编译器抱怨它们是int。我正在尝试插入字节 byte是范围[-128127]内的有符号整数0x8b是139d,因此需要将其强制转换为字节(字节)

我真不敢相信我会问这个问题,但我读到的所有东西要么是从int到byte再到string再到byte的转换,要么是别的什么。我实际上是想在字节数组中插入一个字节。或者,用字节而不是整数初始化字节数组

byte[] header = {0x8b, 0x1f, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03};

编译器抱怨它们是int。我正在尝试插入字节

byte
是范围
[-128127]
内的有符号整数
0x8b
139d
,因此需要将其强制转换为字节
(字节)0x8b
,或使用适当范围内的值,如
-0x75
(相当于将
0x8b
强制转换为
字节


编译器威胁将
0x8b
等文本作为整数,因此必须显式强制转换为字节

byte[] header = { (byte) 0x0b, (byte) 0x1f };

字节是有符号整数,因此不能超过127<因此,代码>0x8b太大


谢谢。我有一种感觉,那很简单。我有点难过,甚至不得不问。别难过,这一点都不明显。其他语言(如C)有时甚至在没有警告的情况下也会接受类似的代码。。。
public static byte[] bytes(byte... bytes){ return bytes; }

byte[] header=bytes(0x8b, 0x1f, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03);