11
为什么Java的+ =,-=,* =,/ =复合赋值运算符不需要强制转换?
直到今天,我还以为例如: i += j; 只是以下方面的捷径: i = i + j; 但是,如果我们尝试这样做: int i = 5; long j = 8; 然后i = i + j;将不会编译,但i += j;会编译良好。 这是否意味着实际上i += j;是类似这样的捷径 i = (type of i) (i + j)?
强制转换是一个过程,其中如果允许转换,则将对象类型显式转换为另一种类型。此过程可能会导致价值变化。