我了解到i+=2i=i+2的简写。但是现在我对此表示怀疑。
对于以下代码,上述知识无效:



上面的代码是合理的,因为2int类型,并且表达式返回int值。

但是,以下代码运行良好:



这使我怀疑+=简写运算符比我所知道的还要多。
请赐教。

最佳答案

如有疑问,您可以随时查看Java语言规范。在这种情况下,相关部分为15.26.2,复合赋值运算符。



因此,您几乎是正确的,除了还添加了强制类型转换。在您的情况下:b+=2;符合b=(byte)(b+2);

09-05 02:20