java - 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>
解决方案
推荐阅读
- python - 尝试在 Python 中反转输出
- google-sheets - 谷歌表格数组公式sumifs重复数组中所有值的第一个值
- python - 从验证码中删除曲线
- javascript - 使用 JSX 时必须在范围内获取“React”
- ruby-on-rails - rake 资产预编译时出现 capistrano 3 错误
- javascript - 将文件从 Firebase Cloud Functions 上传到存储时的代码 16
- python - 在 Python 中出现(非零)需求的前两个时期之间的时期数
- javascript - 单击时清除输入值并重置数据列表选项下拉列表
- swift - SwiftUI 组{}嵌套在 VStack 中{}抛出错误
- javascript - 可处理多个值的 javascript 函数