为什么 Stream.Builder 既有添加方法又有接受方法?
2022-09-01 17:27:00
我正在使用Stream.Builder
,我偶然发现这个接口同时具有方法和.唯一的区别是前者返回,后者返回 。accept(T t)
add(T t)
void
Stream.Builder
文档甚至提到这些方法具有相同的默认实现:
默认实现的行为类似于:
accept(t) return this;
请注意,他们忘记了分号,但那是另一回事了。
我的问题是:为什么他们有两种方法可以向流构建器添加内容?我认为这会使API混乱,我认为他们想避免这种情况。
是否有任何令人信服的理由这样做?