具有链式方法的Java方法调用顺序
给出了以下Java代码示例:具有链式方法的Java方法调用顺序,java,Java,给出了以下Java代码示例: builder.something() .somethingElse() .somethingMore(builder.getSomething()); Java语言规范是否保证在somethingElse()方法之后调用getsomethingelse(),或者允许Java实现重新排序执行?保证在计算参数之前计算目标引用 在运行时,方法调用需要五个步骤。首先,可以计算目标参考。第二,对参数表达式进行求值 必须首先评估something
builder.something()
.somethingElse()
.somethingMore(builder.getSomething());
Java语言规范是否保证在somethingElse()
方法之后调用getsomethingelse()
,或者允许Java实现重新排序执行?保证在计算参数之前计算目标引用
在运行时,方法调用需要五个步骤。首先,可以计算目标参考。第二,对参数表达式进行求值
必须首先评估somethingElse
方法,以计算somethingMore
方法的目标参考。然后计算builder.getSomething()
,为somethingMore
提供参数值。然后可以执行somethingMore
由于此规则,JVM不允许重新排序执行