使用简单的赋值操作时,我看到了不一致的行为。
class TestInt {
public static void main(String args[]) {
byte a = 1, b = 1;
b = b + a;
}
}
原因 TestInt.java:4:错误:不兼容的类型:从int到byte的可能有损转换 b = b + a; ^ 1错误
虽然这编译并且工作正常
class TestInt {
public static void main(String args[]) {
byte a = 1, b = 1;
b += a;
}
}
我明白为什么第一段代码可能会失败,我只是想弄清楚为什么2来自C编程世界之间存在差异。