是否有类似字节(byte ... b):byte []?

Chr*_*iss 0 java guava

我正在寻找一个简单的方法,我可以传递一些字节,作为varargs,并返回一个byte [],如:

static byte[] byteArray(byte ...bytes){ return bytes;}
Run Code Online (Sandbox Code Playgroud)

到目前为止我发现了什么......

java.lang.Byte没有它
java.util.Arrays没有它
com.google.common.primitives.Bytes.toArray(..)想要一个集合

示例用例: assertThat(actualArray,is(byteArray(1,2,3,4,5)));

A.H*_*.H. 6

没有这个功能,因为

new byte[]{1,2,3,4,5}
Run Code Online (Sandbox Code Playgroud)

也很短.

编辑: 请注意这样的任何帮助方法

static byte[] toBytes(byte ... bytes)
{
   return bytes;
}
Run Code Online (Sandbox Code Playgroud)

具有相同的问题new byte{...}:所有参数必须是实际字节而不是传播到int.因此0xca,byte在两种情况下都必须使用类似的参数:

byte ba1[] = new byte[]{ (byte)0xca };
byte ba2[] = toBytes( (byte)0xca );
Run Code Online (Sandbox Code Playgroud)

如果您想要更简单的输入,那么您必须编写一个自定义方法,该方法分配一个字节数组并手动执行复制和转换.