给定以下函数调用C
:
fooFunc( barFunc(), bazFunc() );
的执行顺序barFunc
和BazFunc
未指定,所以barFunc()
可以之前被调用bazFunc()
或bazFunc()
之前barFunc()
在C
。
是否Java
指定函数参数表达式的执行顺序或未指定的顺序C
?
Answers:
从Java语言规范(关于表达式)中:
15.7.4从左到右评估参数列表
在方法或构造函数调用或类实例创建表达式中,参数表达式可能出现在括号内,以逗号分隔。每个参数表达式似乎都在其右侧任何参数表达式的任何部分之前被完全评估。