【问题标题】:Sonar : lambda - Remove useless curly braces around statement声纳:lambda - 删除语句周围无用的花括号
【发布时间】:2014-06-23 20:23:13
【问题描述】:

这些代码示例:

import java.util.Observer;

public class Main {
    public static void main(String[] args) {
        Observer observer = (o, arg) -> {
            if (arg != null) {
                System.out.println(arg);
            }
        };
    }
}

import java.util.Observer;

public class Main {
    public static void main(String[] args) {
        Observer observer = (o, arg) -> {
            try {
                String test = (String) arg;
                ...
            }
            catch (ClassCastException e) {
            }
        };
    }
}

不符合此sonarqube rule

仅包含一个语句的lamdbas 不应嵌套此语句 在一个块中:删除语句周围无用的花括号

我该如何解决?

【问题讨论】:

    标签: lambda java-8 sonarqube


    【解决方案1】:

    将这些花括号归类为“无用”是错误的。

    您可以在单个表达式语句周围省略花括号,例如,方法调用、new 表达式或x++x+=y 等。 p>

    或者,您可以将唯一的 … -> { return x; } 语句转换为表达式 … -> x

    但您不能在每条语句周围都省略花括号。

    你无法解决这个问题。您唯一能做的就是提交错误报告。

    顺便说一句,即使那样,删除它们也不一定会提高可读性。这取决于……

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-06
    • 1970-01-01
    • 2020-08-18
    • 2021-04-19
    • 2020-03-17
    • 2020-05-28
    • 2014-05-31
    相关资源
    最近更新 更多