1

当我写一个有几个空格的类时:

public class MyObj {
    public void doSomething() { /* does something */ }
    public void doSomethingElse() { /* does something else */ }
    ...
}

我可以使用以下代码:

MyObj myObj = new MyObj();
myObj.doSomething(); // does something
myObj.doSomethingElse(); // does something else

但是,如果我这样写课程:

public class MyObj {
    public MyObj doSomething() {
        // do something;
        return this;
    }
    public MyObj doSomethingElse() {
        // do something else;
        return this;
    }
}

我可以使用以下代码来完成相同的任务:

MyObj myObj = new MyObj();
MyObj.doSomething().doSomethingElse(); // does something and does something else.

我在 JavaScript (jQuery) 中看到了第二种形式:

$("#myDialog").dialog().focus().mySuperLongNameHomeMadeBullshitFunction().remove();

所以我的问题是,在 Java 中,使用连接形式或标准的优缺点是什么?(我真的不会换到第二个,只是好奇,就像我们一样)。

4

2 回答 2

4

方法链接允许您在单个表达式中调用方法。

这在您不能使用多个语句的情况下很有用——例如,this() 和 super()。

于 2013-03-07T19:51:10.390 回答
0

使用方法链可以允许使用 fluent API 创建一些 DSL 并创建更清晰的代码。

在做完全相同的事情时,它可以更简洁、更有意义。

于 2013-03-07T19:53:48.353 回答