当我尝试做这样的事情时遇到错误:
byte a = 23;
a = a - 1;
编译器给出这个错误: Test.java:8:发现可能存在精度损失:需要 int:字节 a = a - 1; ^ 1 个错误
转换无法解决错误... 为什么编译器不让我这样做? 我是否需要将变量“a”转换为 int?
最佳答案
这样做。
a = (byte)(a - 1);
当你从a
中减去1时,就是它的整数值。因此,要以字节为单位分配结果,您需要进行显式类型转换。
关于java - 字节算术 : How to subtract to a byte variable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15533497/