因为
b += 1是的等效项
b = (byte)(b + 1),而的类型
b +1被提升为
int(JLS§5.6.2二进制数值提升),因此,
byte如果不进行显式转换,则不能将其结果分配给它。
根据JLS,§15.26.2复合赋值运算符:
形式为E1 op = E2的复合赋值表达式等效于E1 =(T)((E1)op(E2)),其中T是E1的类型,只是E1仅被评估一次。

因为
b += 1是的等效项
b = (byte)(b + 1),而的类型
b +1被提升为
int(JLS§5.6.2二进制数值提升),因此,
byte如果不进行显式转换,则不能将其结果分配给它。
根据JLS,§15.26.2复合赋值运算符:
形式为E1 op = E2的复合赋值表达式等效于E1 =(T)((E1)op(E2)),其中T是E1的类型,只是E1仅被评估一次。