是否可以/建议重用一个Collector?

15 浏览
0 Comments

是否可以/建议重用一个Collector?

我在我的代码中有很多这样的地方:

someStream.collect(Collectors.toList())

其中Collectors.toList()在每次使用时都创建一个新的收集器。

这让我想到了一个问题,是否允许和建议这样做:

private final static Collector<...> TO_LIST = Collectors.toList()

对于我使用的每种类型都这样做,然后像这样使用单个收集器:

someStream.collect(TO_LIST)

当需要一个收集器时。

由于收集器是无状态的,只是一组函数和特征,我认为应该可以工作,但另一方面,Collectors.toList()在每次调用时都会创建一个新的CollectorImpl<>

重用收集器的缺点是什么?

0