我是Java的新手,因此这些问题可能对一些人来说很简单。我有一个使用泛型数据类型T的Node类实现。我想实现一个可比较性来比较两个T的实例。
这是我的代码。
private class Node<T> implements Comparable<T> {
private T data;
private Node next;
public Node(T data){
this.data = data;
this.next = null;
}
@Override
public int compareTo(T other) {
if(this.data == other) return 0;
if(this.data < other) return 1;
if(this.data > other) return -1;
}
}
这段代码无法编译,因为Java会抛出不良操作数类型错误。正确的编写compareTo函数的方法是什么?任何帮助都将不胜感激。
T
值吗?如果你有两个T
值,只需要调用t1.compareTo(t2)
。 - Louis Wassermanpublic Node(T data){ this.data = data; this.next = null; } public int compareTo(T other){ return data.compareTo(other); } }`
- Zeusif(((Comparable) item).compareTo(minValue)){ //do something }
时,我会得到一个编译错误。 - Zeus