gpt4 book ai didi

java - 具有相同基类的泛型

转载 作者:行者123 更新时间:2023-12-03 02:25:15 25 4
gpt4 key购买 nike

我有一个像这样定义的 TreeNode 类:

class TreeNode<T extends MyClass> {
public T element;
public TreeNode<? extends MyClass> parent;
public ArrayList<TreeNode<? extends MyClass>> children;
}

我想知道是否有更简单的方法将所有 TreeNode 限制为扩展 MyClass 的泛型类型变量?必须写出ArrayList<TreeNode<? extends MyClass>>非常繁琐。我不能只是做ArrayList<TreeNode<T>>因为这样树就不能包含具有不同 MyClass 继承的节点。

我尝试做这样的事情: public static const Class NODE_CLASS = TreeNode<? extends TreeNode>.class;但我认为您不能将泛型用作类对象的一部分。

与 C++ 相同的东西 typedef我想,即 typedef TreeNode<? extends MyClass> NodeClass;

最佳答案

由于我的评论似乎对您有帮助,因此我将其作为答案发布:

如果T在树中的节点之间不匹配,我不认为使用泛型有什么意义。鉴于此,element 应该只是 MyClass

关于java - 具有相同基类的泛型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15158786/

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