我正在用Java开发树。我目前正在研究检索和插入方法。 方法如下:
if(item <= node.item)
在上面的代码中,if语句:
java: bad operand types for binary operator '<='
first type: E
second type: E
...给我以下错误:
slice(i, i+2)
我有点困惑,因为当我用compareTo()切换操作数时,让我知道结果是布尔值,但我们期望的是int。我不太确定如何比较它们。或更确切地说是将它们进行比较。 SOS!
谢谢你, T
答案 0 :(得分:1)
让您的老师发自内心的攻击,让我们先修复其通用类型。这个
public class BinarySearchTree<E extends Comparable<E>> extends BinaryTree<E>
应该是
public class BinarySearchTree<E extends Comparable<? super E>> extends BinaryTree<E>
您可以使用Comparable<T>
进行比较。也就是说,
if(item <= node.item){
应该是
if (item.compareTo(node.item) <= 0)
以此类推,使用item.compareTo
代替<
,==
或>
。