1. 复合赋值操作符要求两个操作数都是原生类型的。例如,Integer等
2. 复合表达式有一个例外,如果左面是String类型,那么右边操作数是任意类型。
3. 简单赋值操作符允许左侧是对象引用类型,这就更宽松了,只要表达式左侧和右侧的变量是赋值兼容的即可。
代码:
public class BaLiang {
/**
* 八两
*/
public static void main(String[] args) {
Object x = "buy";
String i = "Effective java";
x = x + i;
//提示The operator += is undefined for the argument type(s) Object, String
//x+=i;
}
}