1
在將參數傳遞給方法並在期間修改傳遞參數的Java中,方法調用可以保證結果是預期的結果嗎?
例如
a.method(++i);
等在方法調用期間修改參數時是否有任何保證?
難道保證比如裏面method
變量i
將有更新的 價值?
或a.method(i++)
請問method
在遞增或之前得到的值是i
?
對於所有類似情況也是如此。
我記得這是禁止在C++作爲具體實現,但也許我記得錯了。
在將參數傳遞給方法並在期間修改傳遞參數的Java中,方法調用可以保證結果是預期的結果嗎?
例如
a.method(++i);
等在方法調用期間修改參數時是否有任何保證?
難道保證比如裏面method
變量i
將有更新的 價值?
或a.method(i++)
請問method
在遞增或之前得到的值是i
?
對於所有類似情況也是如此。
我記得這是禁止在C++作爲具體實現,但也許我記得錯了。
http://docs.oracle.com/javase/specs/jls/se7/html/jls-5.html#jls-5.3 – kosa 2013-02-25 19:03:32