What is the difference between build().perform() and perform()

前端 未结 3 648
夕颜
夕颜 2021-01-16 21:45

Some articles suggest that now build() is included in perform() itself, while others suggest that build().perform() is used when multi

3条回答
  •  清歌不尽
    2021-01-16 22:17

    build() is included in perform(), you can see it in the source code

    public void perform() {
        build().perform();
    }
    

    The perform() inside the methods calls the perform() method in the inner class BuiltAction.

    Calling build().perform() in your code is actually calling build() twice, build().build().perform().

    build

    Generates a composite action containing all actions so far, ready to be performed (and resets the internal builder state, so subsequent calls to build() will contain fresh sequences).

    performe

    A convenience method for performing the actions without calling build() first.

    This is little misleading (IMO), because build() is being called, even if implicitly.

提交回复
热议问题