1

创建可链接的方法是否会使执行变得很差?

我说的是这个:

public class Foo {
    public Foo bar() {
       // Code
       return this;
    }

    public Foo setBar() {
       // Code
       return this;
    }
}

Foo foo = new Foo();
    foo.bar().setBar();

这比创建一个Foo.Builder类并Foo使用方法获取对象更好Builder.getFoo();吗?

4

2 回答 2

2

这种称为流式接口的模式使代码更具可读性。不幸的是,使用非常广泛的 JavaBeans 标准规定 setter 必须有一个void返回值,而返回this值可能会破坏一些期望与精确签名匹配的工具。这里有一个很好的概述

于 2013-09-20T02:52:14.650 回答
1

在常规 java 中这样做没有效率问题。使用Builder模式 ( StringBuilder) 等的原因是因为您的类的功能方式( 的不变性String),这可能会使某些操作效率低下。

于 2013-09-20T02:58:55.643 回答