我知道你不能使用==或!=来比较数字对象的值,而是必须使用.equals().但经过大量的搜索后,我无法找到关于是否可以使用其他比较运算符的声明,除了使用.compare()或.compareTo()的建议,因为它们需要两个比较:a到b,然后结果为零.
尽管==和!=比较了对象的地址,但其他比较运算符似乎比较了数值.例如,以下代码段:
Integer a = new Integer(3000);
Integer b = new Integer(3000);
System.out.println("a < b " + (a < b));
System.out.println("a <= b " + (a <= b));
System.out.println("a == b " + (a == b));
System.out.println("a >= b " + (a >= b));
System.out.println("a > b " + (a > b));
Run Code Online (Sandbox Code Playgroud)
产生
a < b false
a <= b true
a == b false
a >= b true
a > b false
Run Code Online (Sandbox Code Playgroud)
这似乎表示所有运算符,但==比较值,而不是对象的地址.是否接受使用<=运算符类,或只是我的编译器不支持的功能或什么?
java ×1