請考慮Java中的以下表達式。Java中的數組表達式
int[] x={1, 2, 3, 4};
int[] y={5, 6, 7, 0};
x=y;
System.out.println(x[0]);
會在控制檯上顯示5
因爲x
由通過表達x=y
和x[0]
顯然被評估以5
這實際上是y[0]
的值以指向y
。
當我用下面的語句二者合併成一個單一的語句替換上面的兩個語句,
System.out.println(x[(x=y)[3]]);
它顯示1
這是x[0]
即使它似乎是等同於上述那些價值兩個陳述。怎麼樣?
你不應該使用這樣的表述。他們只是混淆,容易出錯而且很難調試。 – 2011-12-27 15:15:47
它們仍然存在,我們必須知道與Java或任何語言的這些東西相關的一切。 – Lion 2011-12-27 15:22:24