Java中参数执行顺序的保证?
在C给出以下函数调用:
fooFunc( barFunc(), bazFunc() );
没有指定barFunc和BazFunc的执行顺序,因此可以在C barFunc()之前的bazFunc()或bazFunc()之前barFunc() 。
Java是否指定了函数参数expression式的执行顺序,还是像C那样未指定?
从Java语言规范 (在expression式上):
15.7.4参数列表从左到右评估
在方法或构造函数调用或类实例创buildexpression式中,参数expression式可能出现在括号中,用逗号分隔。 每个参数expression式似乎在其右边任何参数expression式的任何部分之前被完全评估。