您好,我正在尝试通过使用 Comparable 接口(interface)扩展泛型来比较两个对象:
public class Tree<K extends Comparable<K>>
{
Node<K> treeNode;
// Some initialization stuff
public void test(Node<K> node)
{
// Some code
// This line fails
if(node.getKey() > treeNode.getKey())
{ ... }
// Rest of the code
}
}
public interface Node<K extends Comparable<K>>
{
// Some code
public K getNode();
// Some more code
}
但由于某种原因,比较运算符无法被识别。我认为通过扩展可比较,我可以开始使用这样的运算符。我究竟做错了什么。谢谢。
最佳答案
Comparable
不允许您使用 <
或>
进行比较,就像 List
和Map
不要让你使用[]
用于项目访问。您需要调用 compareTo
方法,通过返回小于、大于或等于0的整数来指示比较结果。
关于java - 比较泛型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21615142/