Java 声纳线头;“比较”;不应检查结果的具体值
我正在比较两个值,并得到sonar lint投掷Java 声纳线头;“比较”;不应检查结果的具体值,java,sonarqube,sonarlint,Java,Sonarqube,Sonarlint,我正在比较两个值,并得到sonar lint投掷“只应检查结果的符号”此问题 代码: if (recBalanceAmt.compareTo(recRolloverEligibility) == 1) { recExpAmt = recBalanceAmt.subtract(recRolloverEligibility); } 如何解决此问题?声纳建议将比较的结果与0进行检查,而不是直接返回1,-1 if (recBalanceAmt.compareTo(recRolloverEli
“只应检查结果的符号”此问题
代码:
if (recBalanceAmt.compareTo(recRolloverEligibility) == 1) {
recExpAmt = recBalanceAmt.subtract(recRolloverEligibility);
}
如何解决此问题?声纳建议将比较的结果与0
进行检查,而不是直接返回1
,-1
if (recBalanceAmt.compareTo(recRolloverEligibility) > 0) {
您可以在
返回:如下所示的负整数、零或正整数
对象小于、等于或大于指定对象
为什么?与1比较不好吗?或者与1进行比较有什么问题吗?根据合同,compareTo方法可以返回任何正值,不一定是1,因此如果该方法返回2,而您将结果与1进行比较,您的条件将不会满足。