我正在尝试构建一个Collector类,该类将我的结果汇总到TreeMap中。我在对累加器/结果使用通用类型时遇到麻烦。问题出现在我的供应商方法的定义中。
我的班级目前看起来像这样:
public class CollectExclusions<T> implements Collector<CellList, T, T> {
@Override
public Supplier<T> supplier() {
return TreeMap<String, ArrayList<String>>::new;
}
public static <T> CollectExclusions<T> toExclusionsSet() {
return new CollectExclusions<>();
}
}
我按如下方式调用它:
TreeMap<String, ArrayList<String>> exclusions = board.getWords().stream()
.collect(CollectExclusions.toExclusionsSet());
我需要在班级的什么地方指定累加器/结果(T)的类型,以使该类尽可能地通用,如何在供应商中指定该类型?