java - 是否有类似字节(字节...b):byte[]?的东西

标签 java guava

我正在寻找一个简单的方法,我可以传入一些字节(作为可变参数),并获取返回的 byte[],例如:

static byte[] byteArray(byte ...bytes){ return bytes;}

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

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

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

最佳答案

没有这个功能,因为

new byte[]{1,2,3,4,5}

也很短。

编辑: 请注意,任何像这样的辅助方法

static byte[] toBytes(byte ... bytes)
{
   return bytes;
}

new byte{...}有同样的问题:所有参数必须是真实字节并且不会传播到int。因此,在这两种情况下,像 0xca 这样的参数必须转换为 byte:

byte ba1[] = new byte[]{ (byte)0xca };
byte ba2[] = toBytes( (byte)0xca );

如果您想要更轻松的输入,那么您必须编写一个自定义方法来分配字节数组并手动进行处理和转换。

关于java - 是否有类似字节(字节...b):byte[]?的东西,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7765925/

相关文章:

java - 事件总线 Guava 有一个无界队列

java - "Method returns internal array"PMD 安全警告的任何 Guava 库

java - 如何使用 Spring Integration 发送 gcm xmpp 消息?

java - 在另一个项目中复制 POJO 等 Hibernate 实体的最简洁方法

java - HashMap<String, boolean> 将所有键复制到 HashMap<String, Integer> 并将值初始化为零

java - Guava 与 Apache Commons Hash/Equals 构建器的对比

java - 在 Java 8 Comparator 中执行 Ordering.lexicographyal() 的等效方法是什么?

java - Guava 多重映射到响应模型的映射结果

java - 无法通过 Java 在 XML 资源文件中复制布局外观

java - 为什么@Transactional 在另一项提交失败时不回滚一项提交?