web-dev-qa-db-ja.com

Javaでのパラメータ保証の実行順序は?

Cで次の関数呼び出しがあるとします。

_fooFunc( barFunc(), bazFunc() );
_

barFuncBazFuncの実行順序は指定されていないため、barFunc()bazFunc()またはbazFunc()の前に呼び出すことができます。 CbarFunc()

Javaは関数の引数式の実行順序を指定しますか、それともCのように指定されていませんか?

65
tpdi

Java言語仕様 (式上)から:

15.7.4引数リストは左から右に評価されます

メソッドまたはコンストラクターの呼び出しまたはクラスインスタンス作成式では、引数式がコンマで区切られた括弧内に表示される場合があります。各引数式は、その右側の引数式のどの部分よりも前に完全に評価されているように見えます。

69
Michael Easter