最近,Android Studio在我写下以下代码时显示了一个警告(我认为是因为我将代码转换为Kotlin才出现的,但不确定):
if (myValue.compareTo(BigDecimal.ZERO) > 0)
这条信息意思是“该用二进制运算符替换可替代的调用”,然后将我的代码替换为:
if (myValue > BigDecimal.ZERO)
我注意到我也使用了。
if (myValue.compareTo(BigDecimal.ZERO) == 0
但这一次我没有收到警告,如果我尝试替换它,它就无法工作。
if (myValue == BigDecimal.ZERO) // DOES NOT WORK
为什么使用
> ZERO
可行而不是 == ZERO
?为什么 stackoverflow 上的每个线程(例如此处)都建议使用 compareTo
,但 > ZERO
可以工作并被 Android Studio 推荐?
myValue == 0
会发生什么? - President James K. PolkBigDecimal("0.00") == BigDecimal.ZERO
会返回 false。 - Bencri