为什么我使用 =(单个等于)的相等比较在 Java 中不能正常工作?
Why doesn't my equality comparison using = (a single equals) work correctly in Java?
下一行有语法错误。但是我不明白这个错误的原因是什么。
if (address1.compareTo(address2) = 1)
System.out.println(address1 + " is greater than " + address2);
我想要实现的是当且仅当 compareTo
returns 1
.
时打印正确的消息
您应该比较 (==
) 而不是赋值 (=
)。这可能非常危险!为避免这种情况,您可以使用 Yoda notation
而不是比较
address1.compareTo(address2) == 1
你可以比较:
1 == address1.compareTo(address2)
如果缺少=
,会出现比较错误
你的情况,比较一下比较好:
address1.compareTo(address2) > 0
下一行有语法错误。但是我不明白这个错误的原因是什么。
if (address1.compareTo(address2) = 1)
System.out.println(address1 + " is greater than " + address2);
我想要实现的是当且仅当 compareTo
returns 1
.
您应该比较 (==
) 而不是赋值 (=
)。这可能非常危险!为避免这种情况,您可以使用 Yoda notation
而不是比较
address1.compareTo(address2) == 1
你可以比较:
1 == address1.compareTo(address2)
如果缺少=
,会出现比较错误
你的情况,比较一下比较好:
address1.compareTo(address2) > 0