gpt4 book ai didi

java - 泛型类型作为泛型类型参数

转载 作者:行者123 更新时间:2023-12-01 10:13:56 24 4
gpt4 key购买 nike

我想知道我是否可以通过避免类(class)声明中的第二个 V 来改进我的类(class)。不知怎的,它看起来很糟糕。

public abstract class TreeElementAction<T extends TreeNode<V>, V> {

protected abstract boolean actFor(@Nullable T element);

public void forEachElementInTree(@Nonnull T rootNode) {
requireNonNull(rootNode);
actFor(rootNode);

Collection<T> children = (Collection<T>) rootNode.getChildren();
for (T treeNode : children) {
forEachElementInTree(treeNode);
}
}
}

最佳答案

除非您需要V在此类的任何具体实现中,您可以按照 @PeterLawrey 的建议删除类型变量,并将其替换为 TreeNode<V> 中的无界通配符。 :

public abstract class TreeElementAction<T extends TreeNode<?>> {

关于java - 泛型类型作为泛型类型参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36012970/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com