当我编写一个带有几个空格的类时:
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中,使用连接形式或标准的优缺点是什么?(我真的不打算改成第二种,只是好奇,就像我们大家一样)。
发布于 2013-03-08 03:51:10
Method chaining允许您在单个表达式中调用这些方法。
这在不能使用多个语句的情况下很有用--例如this()和super()。
发布于 2013-03-08 03:53:48
使用方法链接可以允许使用fluent API创建一些DSL,并创建更清晰的代码。
它可以让你在做同样的事情时更简洁,更有意义。
https://stackoverflow.com/questions/15280388
复制相似问题