gon*_*ard 5 lambda java-8 sonarqube
这些代码示例:
import java.util.Observer;
public class Main {
public static void main(String[] args) {
Observer observer = (o, arg) -> {
if (arg != null) {
System.out.println(arg);
}
};
}
}
Run Code Online (Sandbox Code Playgroud)
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) {
}
};
}
}
Run Code Online (Sandbox Code Playgroud)
不符合这个声纳规则:
只包含一个语句的Lamdbas不应该在一个块中嵌套这个语句:删除语句周围无用的花括号
我该怎么办呢?
将这些花括号分类为"无用"是错误的.
您可以省略围绕一个大括号表达式语句,即,例如,一个方法调用,一个new表情,或者x++,x+=y等
或者您可以将唯一的… -> { return x; }语句转换为表达式… -> x.
但是你不能在每个语句周围省略花括号.
你无法解决这个问题.您唯一能做的就是提交错误报告.
顺便说一下,即使这样,删除它们也不一定是可读性改进.这取决于…