鉴于以下函数调用在C

fooFunc( barFunc(), bazFunc() );

barFuncBazFunc执行顺序没有指定,所以barFunc()可以bazFunc() bazFunc()之前barFunc()C之前被调用。

是否Java指定的功能参数表达式执行或类似C的顺序是未指定?

有帮助吗?

解决方案

Java语言规范(表达式上的):

  

15.7.4参数列表进行评估左到右

     

在的方法或构造函数调用   或类实例创建表达式,   参数表达式可能出现内   括号,用逗号分开。   每个参数表达似乎是   任何任何部分之前充分评估   参数表达式在其右侧。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top