Java中参数执行顺序的保证?

C给出以下函数调用:

 fooFunc( barFunc(), bazFunc() ); 

没有指定barFuncBazFunc的执行顺序,因此可以在C barFunc()之前的bazFunc()bazFunc()之前barFunc()

Java是否指定了函数参数expression式的执行顺序,还是像C那样未指定?

从Java语言规范 (在expression式上):

15.7.4参数列表从左到右评估

在方法或构造函数调用或类实例创buildexpression式中,参数expression式可能出现在括号中,用逗号分隔。 每个参数expression式似乎在其右边任何参数expression式的任何部分之前被完全评估。