java - 声纳林特 "Replace this if-then-else statement by a single return statement"

标签 java sonarlint

我无法修复此代码异味:

public static boolean esStringVacio(final Object valor) {
        if (valor == null) {
            return true;
        }
        String valorTrim = valor.toString().trim();
        if ((valorTrim).equals("")) {
            return true;
        }
        if ((valorTrim).equals("null")) {
            return true;
        }
        return false;
    }

像这样尝试但代码味道仍然存在:

if (valor == null || valor.toString().trim().equals("") || valor.toString().trim().equals("null")) {
        return true;
    } else {
        return false;
    }

最佳答案

您可以将其缩短为:

return (valor == null || valor.toString().trim().equals("") || valor.toString().trim().equals("null"));

编辑: 您可以进一步缩短为:

return ((String.valueOf(valor).trim().equals("null")) || (StringUtils.isBlank(valor)) ;

感谢欧内斯特的建议。

关于java - 声纳林特 "Replace this if-then-else statement by a single return statement",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58891515/

相关文章:

java - setIcon 不适用于条件

java - MapStruct 忽略对象内列表内的属性

java - hazelcast部署实现

java - 有没有办法在 pom.xml 中集成 sonarlint 插件

java - SonarQube (SonarLint/Sonar-JAVA) 不应使用冗余强制转换

Java SSL 问题 - 无法解析的 CRLDistributionPoints 扩展

java - 需要以良好的方式显示从 GAE 数据存储查询的数据

c# - WebAPI Controller 中的 ConfigureAwait(false)

java - Sonarlint [鱿鱼 :S1186]: Method should not be empty on constructor in Spring Tool Suite

java - SonarQube 报告删除此表达式,其计算结果始终为 “true”