我有一个关于在 java 中转换变量的问题。 我有以下代码
byte b1 = 6;
byte b2 = 5;
byte bsum;
bsum = (b1 + b2); // (1)
代码需要的内容是:
byte b1 = 6;
byte b2 = 5;
byte bsum;
bsum = (byte)(b1 + b2); // (2)
为什么在(1)情况下 Eclipse 说无法从 int 转换为 byte ?当字节变量最多可以占用 127 时,为什么 b1 + b2 会转到 int ?我很困惑..
感谢您的宝贵时间!
最佳答案
作者:specification +
运算符返回一个 int
,这就是您需要进行强制转换的原因。
(1) 表示 b1 + b2
不能分配给 byte
,因为 int
的范围比字节
。
关于Java 变量转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26242674/