java - Actor 异常?

标签 java nodes binary-search-tree classcastexception

所以我得到这个ClassCastException当尝试转换我的Node<T>时给我的AVLNode<T> 。不知道为什么。

这里是抛出异常的地方。

Node<Integer> n1 = new Node<Integer>(3, null);
    AVLNode<Integer> n2 = (AVLNode<Integer>) n1;

类(class)看起来如何...

public class Node<T extends Comparable<T>> {

public Node<T> right;

public Node<T> left;

public Node<T> parent;

public T data;

public Node(T data, Node<T> parent) {
    this.data = data;
    this.parent = parent;
} // ...

另一个类在单独的文件中:

public class AVLNode<T extends Comparable<T>> extends Node<T> {

public int height = 1;

public AVLNode(T data, Node<T> parent) {
    super(data, parent);
} //...

错误信息: 线程“main”中的异常 java.lang.ClassCastException:custom.trees.Node 无法转换为 custom.trees.AVLNode

最佳答案

基本上,因为 Node 不是 AVLNode - 您将其创建为 Node,所以它是一个 Node >。如果您将其创建为 AVLNode,则可以将其转换为 Node,但反之则不然。

关于java - Actor 异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26676244/

相关文章:

nodes - OpenStack 上 Kubernetes 中节点(minion)的水平自动缩放

algorithm - 链表插入与 BST 插入时间成本

java - 拦截和过滤 HTTP 请求

java - 在实体对象中将 native SQL 与默认 Hibernate 行为混合?

Java线程和run方法

python - 递归节点

node.js - Azure 移动服务表筛选器

Java Web服务复杂类型

c++ - 在Binary Search Tree C++中计算平均值

c - 使用序列化二叉搜索树对海量数据进行排序