这些代码示例:
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不应嵌套此语句 在一个块中:删除语句
周围无用的花括号
我该如何解决?
答案 0 :(得分:8)
将这些花括号分类为“无用”是错误的。
您可以在单个表达式语句周围省略花括号,例如,方法调用,new
表达式或x++
,{{1}等等。
或者您可以将唯一的x+=y
语句转换为表达式… -> { return x; }
。
但是你不能在每个语句中省略花括号。
你无法解决这个问题。您唯一能做的就是提交错误报告。
顺便说一下,即使这样,删除它们也不一定是可读性改进。这取决于......