具有链式方法的Java方法调用顺序

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

给出了以下Java代码示例:

builder.something()
       .somethingElse()
       .somethingMore(builder.getSomething());
Java语言规范是否保证在
somethingElse()
方法之后调用
getsomethingelse()
,或者允许Java实现重新排序执行?

保证在计算参数之前计算目标引用

在运行时,方法调用需要五个步骤。首先,可以计算目标参考。第二,对参数表达式进行求值

必须首先评估
somethingElse
方法,以计算
somethingMore
方法的目标参考。然后计算
builder.getSomething()
,为
somethingMore
提供参数值。然后可以执行
somethingMore

由于此规则,JVM不允许重新排序执行