表达式之谜---八两(复合赋值表达式)

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;
	}
}

 

你可能感兴趣的:(表达式)