直到今天,我认为,例如: i += j; 只是一个捷径: i = i + j; 但是,如果我们尝试这样做: int i = 5; long j = 8; 然后i = i + j;不会编译,但i += j;会编译好。 这是否意味着实际上i += j;是这样的一个捷径 i = (type of i) (i + j)? 和往常一样,JLS有这个答案。在这种情况下,§15.26.2复合赋值运算符。摘录: 表单的复合赋值表达式E1 op= E2相当于E1 = (T)((E1) op (E2)),其中T的类 […]