Java / Android添加2个字节(如何告诉编译器它赢得了超过127个?)

时间:2016-03-08 11:11:38

标签: java android byte

一个值为0或2,需要添加到另一个。

到目前为止,这是我的方法调用

setNumber(new byte[]{(byte) 0xB0, (byte) 52});

根据我想做的其他参数

setNumber(new byte[]{(byte) 0xB0+parameter, (byte) 52});

因此paramater介于0和2之间。我想这样做是因为我想避免在我执行此操作的每一行放置if语句。此外,我认为这是表现最好的方式。

然而,Java并没有让我添加这两个字节 - 我得到incompatible types Required Byte Found int。当我只是直接添加参数的值时,我想要实现的是什么?

setNumber(new byte[]{(byte) 0xB0+2, (byte) 52});因为编译器知道它仍将保持在字节范围内。

那么我怎样才能明确parameter永远不会超过2的值?无论程序发生了什么,这段代码肯定会运行,我只需要以某种方式编译 - 并且因为手动添加值,我希望有一种方法可以使编译器知道不会有任何问题这里。

由于

1 个答案:

答案 0 :(得分:1)

您唯一需要做的就是将添加结果转换为byte。如果该值超过127,则将截断这些位。

setNumber(new byte[]{(byte) (0xB0 + param), (byte) 52});