对于有经常使用制定者的一个长长的清单班,我发现这种方式非常有用(虽然我最近看了一下Builder模式在有效的Java是有点相同).
基本上,所有setter方法都返回对象本身,因此您可以使用如下代码:
myClass
.setInt(1)
.setString("test")
.setBoolean(true);
Run Code Online (Sandbox Code Playgroud)
塞特斯最终只返回这个:
public MyClass setInt(int anInt) {
// [snip]
return this;
}
Run Code Online (Sandbox Code Playgroud)
你有什么意见?优缺点都有什么?这对性能有影响吗?
也称为c ++中的命名参数idiom.
Bar*_*ski 15
@pek
链式调用是Java 7的提议之一.它说如果方法返回类型为void,它应该隐式返回它.如果你对这个主题感兴趣,那么Alex Miller的Java 7页面上有很多链接和一个简单的例子.