Java : inherits a generic type

标签 java generics

<分区>

Possible Duplicate:
Extend from Generic Supertype?

大家好。 我来自 C++,我很喜欢使用模板。 在 Java 中,我想在特定点将节点“插入”到继承树中。 ...我认为代码会更明确:

public class MyClass<E> extends E {}

它可以很好地与 C++ 模板一起工作,但 java 给了我一个“不能将类型参数引用为父类(super class)型”。有没有办法在 Java 中做到这一点?

感谢您的帮助;)

最佳答案

要了解您尝试的代码存在的问题,请考虑如果 E 是例如 Integer 会发生什么?

你可以用包含通用数据的节点做你想做的事:

public class Node<T> {
    T data;
    // other tree bookkeeping fields
}

然后你可以定义子类:

public class ThreadedTreeNode<T> extends Node<T> {
    // even more bookkeeping fields
}

关于Java : inherits a generic type,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5859727/

相关文章:

java - 如何通过使用 auto-ddl=update 更改 JPA 中的实体来更改表

java - 在运行时动态选择一个 spring-batch reader

.net - 在托管 C++ 中创建 KeyValuePair

c# - 如何创建一个返回匿名类型的 IEnumerable 的方法

java - Scanner 类放在哪里

java - 在不重启服务器的情况下部署到 tomcat7

java - 通用列表打印方法

c# - 泛型和工厂

java - 如何在堆栈跟踪中隐藏长类路径以使其可读?

Java 泛型对映射的键和值强制执行相同的类型