2013-06-28 159 views
0

我知道這兩個陳述評估相同的答案,但 是否有任何與此陳述相關的性能問題?a = a + b和a + = b之間的區別是什麼?

+1

沒想到,a + = 1會被編譯器內部轉換爲a = a + 1。 – kosa

+1

看看生成的代碼。 –

+0

唯一的區別是,如果'a'是一個評估時有副作用的表達式。在前一種情況下,它被評估(有副作用)兩次,在後一種情況下只有一次。如果它只是一個簡單的變量名稱,例如它們完全相同。 – Patashu

回答

0

生成的代碼對於兩者都是相同的。唯一的區別是代碼的可讀性。

+0

只是要指出這不是這種情況,[這裏是最高的java問題之一](http://stackoverflow.com/questions/8710619/java-operator)。 – Zong

相關問題