首页 > 解决方案 > compareTo 两个泛型类型

问题描述

我想制作一个通用的二叉树,但是我在弄清楚为什么我不能比较通用类型的两个值时遇到了一些问题。

public class Node <E extends Comparable<E> > implements Comparable<Node>  {

private E value;
public Node(E value){
    this.value = value;
}

public E getValue() {
    return value;
}

@Override
public int compareTo(Node o) {

    int a = value.compareTo(o.getValue()));
    return a;
}

我不断收到以下行错误: value.compareTo(o.getValue()) 。它说我必须将 o.getValue 转换为类型 E 但是它已经来自类型 E ?

我将如何解决这个问题?我试过makeig value Comparable,但这仍然不能解决我的问题。

谢谢

谢谢

编辑:通过这样做解决:它应该是 public int compareTo(Node o) 并实现 Comparable>

标签: javagenerics

解决方案


推荐阅读