首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >泛型类型作为泛型类型参数

泛型类型作为泛型类型参数
EN

Stack Overflow用户
提问于 2016-03-15 21:39:48
回答 1查看 26关注 0票数 0

我想知道我是否可以通过在类的声明中避免第二个V来提高我的类。不知何故,它看起来很可怕。

代码语言:javascript
复制
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);
        }
    }
}
EN

回答 1

Stack Overflow用户

发布于 2016-03-15 21:53:53

除非您在该类的任何具体实现中都需要V,否则您可以像@PeterLawrey建议的那样删除类型变量,并在TreeNode<V>中将其替换为无界定通配符

代码语言:javascript
复制
public abstract class TreeElementAction<T extends TreeNode<?>> {
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36012970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档