我有这段代码:
class ABC
{
public static void main(String[] args) {
Integer inta = new Integer(10);
Integer intb = new Integer(10);
if (inta <= intb) {
System.out.println("inta is less than intb");
}
if (inta >= intb) {
System.out.println("inta is greater than intb");
}
if (inta != intb) {
System.out.println("inta is not equal to intb");
}
}
}
这将输出:
inta is less than intb
inta is greater than intb
inta is not equal to intb
有人能解释一下为什么会发生这种情况吗?一个对象怎么可能既相等又不相等呢?
<=
表示“小于等于”,>=
表示“大于等于”。而==
用于检查它们是否为同一对象,但实际并非如此。应该使用compareTo()
方法来比较,并检查其返回的值。 - splrs