如何扩展收藏家课

Pra*_*ath 2 java java-8 java-stream collectors

为什么Collectors在Java 8中类是final?我想在自己的课堂上扩展Collectors课堂MyCollectors。我将在其中添加Collectors类中不存在的其他方法。

Era*_*ran 5

Collectors是最终的,因为它仅包含static实用程序方法。它无法实例化(其构造函数为private),因此对其进行子分类将没有任何意义。

您可以创建MyCollectors独立于的类Collectors。或者,如果您想Collectors通过来访问方法MyCollectors,则可以创建类中所有Collectors静态方法的包装MyCollectors

  • @Prasath正如我所说,我不会那样做包装。只需一起使用两个类(`Collectors`和`MyCollectors`)。您不需要一个类来包含所有收集器实用程序方法。 (3认同)