为什么我的等式比较使用=(单个等于)在Java中无法正常工作?
我在以下行中有语法错误。 但是我无法理解这个错误的原因是什么。
if (address1.compareTo(address2) = 1) System.out.println(address1 + " is greater than " + address2);
当且仅当compareTo
返回1
我想要实现的是打印正确的消息。
您应该比较( ==
)而不是分配( =
)。 这可能非常危险! 为避免这种情况,您可以使用Yoda notation
,而不是比较
address1.compareTo(address2) == 1
你可以比较:
1 == address1.compareTo(address2)
如果缺少=
,将会出现比较错误。
在您的情况下,最好比较:
address1.compareTo(address2) > 0