java - Java,如何在泛型中进行比较
问题描述
我正在学习二叉树算法,但我在这里遇到了问题..
public class Binary_tree_list<T> {
private Node<T> root;
private int size;
private static class Node<T> {
private Node<T> left;
private Node<T> right;
private T data;
....
public int compare(Node<T> other) {
return this.data - other.data;
}
}
这会产生错误,说我不能-
对参数 T 使用运算符。我该怎么办?
解决方案
在你的情况下,T的类型很重要,但这不是你应该做的。
你的类T应该有一个 compareTo 或 compare 方法的正确实现,这取决于它正在实现什么接口。
推荐阅读
- math - 哪个数学函数看起来像这样?
- vba - 使用访问 vba 从 Outlook 提取电子邮件不能仅在一个文件夹上工作
- r - 使用 janitor::tabyl 将 data.frame 中的一个变量与所有其他变量制成表格
- javascript - 如何在待办事项列表中的每个 LI 上显示一个删除按钮?
- azure - 具有多个范围的嵌套 Arm 模板
- vhdl - VHDL 等效于 Verilog 的事件类型和事件触发器 ->event_a;
- android - Jenkins 模拟器插件 - 手动分配端口
- r - 如何访问基准拟合的参数?
- java - 是否有以编程方式在 Spring Framework 中构建 DataSource 对象的 Spring Core 或 Spring MVC(非 SpringBoot)方式?
- ios - 多次SwiftUI绘图视图