java - 有条件执行的 block 应该是可达的

标签 java sonarqube

Sonar 提示三元运算符不应该嵌套。
有没有什么办法可以消除这个提示,因为我是java初学者,我想在这个问题上得到一些帮助。

object form = null;
if(objs.getForm() != null)
form = objs.getForm();
String getName = form != null
                     ? referenceObjType + form.getName()
                     : "" + (objs.getType() == null ? "" 
                     : "(" //$NON-NLS-1$
                     + objs.Type().getTypeName() + ")" 
                     + objs.getName());

最佳答案

像这样的事情怎么办?嵌套三元运算符是非常糟糕的做法。

    String getName= "";
    if (form != null) {
        getName = referenceObjType + form.getName();
    } else {
        getName = objs.getType() == null ? "" : String.format("(%s)%s",objs.Type().getTypeName(), objs.getName());
    }

关于java - 有条件执行的 block 应该是可达的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62043326/

相关文章:

java - 如何在Eclipse中的antbuildfile中添加 Sonar

lambda - 将 ValidationSupport lambda 调用转换为方法引用

java - Cloud Firestore 保存带有不必要小数位的数字

gitlab - 为什么 gitlab-ci.yml 不识别 sonarqube -Dsonar 命令?

java - React-Native DisconnectableInputStream java异常

java - LRU 缓存如何用于 trie 数据结构?

java - SonarQube 与 Eclipse 集成 : Associate with SonarQube option not working for simple java project

sonarqube - 如何在 SonarQube Web 服务中使用联合运算符?

java - 反序列化ArrayList?

java - 从 java (intellij) 连接到远程 mysql (phpmyadmin) 服务器时出现问题