我目前正在从事大学任务。我有一段代码如下所示。
if(temporary > left) { }
临时变量和左变量都是“可比较”类型。我的问题是,我如何比较这两个?它们总是保存整数值,但赋值会强制我将它们声明为“可比较”类型。
任何帮助都非常感谢,因为我对此很困惑。谢谢!
答案 0 :(得分:2)
如果查看http://docs.oracle.com/javase/7/docs/api/java/lang/Comparable.html,您就会知道compareTo()
方法就是您所需要的。
您可以使用temporary.compareTo(left)
并使用该值与0
进行比较。
在临时compareTo()
中实施temporary.compareTo(left)
,使其返回负整数,零或正整数,因为临时小于,等于或大于左。
答案 1 :(得分:0)
在Java中,接口只能声明方法。 Comparable
接口声明了compareTo
方法。所以:
temporary.compareTo(left)
答案 2 :(得分:0)
以下面的课程为例:
public class Boot implements Comparable<Boot> {
int size;
public Boot(int size) {
this.size = size;
}
public int getSize() {
return size;
}
@Override
public int compareTo(Boot boot) {
if (boot.getSize() > size) {
return -1;
} else if (boot.size == size){
return 0;
} else {
return 1;
}
}
}