gpt4 book ai didi

java - 为什么 Stream.Builder 同时具有 add 和 accept 方法?

转载 作者:行者123 更新时间:2023-12-03 07:32:24 24 4
gpt4 key购买 nike

我使用的是 Stream.Builder 我偶然发现这个接口(interface)有两种方法accept(T t)add(T t) .唯一的区别是前者返回 void后者返回 Stream.Builder .
文档甚至提到这些方法具有相同的默认实现:

The default implementation behaves as if:

accept(t)
return this;

请注意,他们忘记了分号,但这是另一回事。
我的问题是:为什么他们有两种方法可以向流构建器添加内容?我认为这会使 API 变得困惑,我认为他们想要 avoid that .
有什么令人信服的理由这样做吗?

最佳答案

我猜:
Stream.Builder 扩展 Consumer<T>所以它必须实现 accept(T)方法。
但是accept(T)返回 void ,所以我认为他们添加了 add(T)为方便起见:构建器模式实现中的方法通常返回 this能够链接建筑物并最终调用build() .

关于java - 为什么 Stream.Builder 同时具有 add 和 accept 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64224586/

24 4 0