Java 二进制运算符的操作数类型错误
所以我试图使代码通用,我遇到了这个问题,我得到了一个错误,表示二进制运算符的操作数类型错误 以下是一个例子:Java 二进制运算符的操作数类型错误,java,generics,Java,Generics,所以我试图使代码通用,我遇到了这个问题,我得到了一个错误,表示二进制运算符的操作数类型错误 以下是一个例子: if(compare(data < root.data)) if(比较(数据
if(compare(data < root.data))
if(比较(数据
我得到上面所说的错误。有关于如何修复它的提示吗
我在开始时有以下设置:
class Node<T>
{
T data;
Node<T> left, right;
Node(T data)
{
this.data = data;
}
}
类节点
{
T数据;
左、右淋巴结;
节点(T数据)
{
这个数据=数据;
}
}
Java不支持运算符重载,<运算符是为(int,double..)等基本数据类型定义的
它不是为非基本类型或用户定义类型定义的
您应该使用可比较的界面,而不是调用数据
如果(compare(data,root.data)<0)
,这就清除了很多问题。谢谢
data.compareTo(root.data);
data.compareTo(root.data) < 0