Sonar:只包含一个方法的匿名内部类应该成为lambdas
以下代码示例:Sonar:只包含一个方法的匿名内部类应该成为lambdas,lambda,java-8,sonarqube,Lambda,Java 8,Sonarqube,以下代码示例: public abstract class Main { public abstract void myMethod(); public static void main(String[] args) { Main main = new Main() { @Override public void myMethod() { // TODO Auto-generat
public abstract class Main {
public abstract void myMethod();
public static void main(String[] args) {
Main main = new Main() {
@Override
public void myMethod() {
// TODO Auto-generated method stub
}
};
main.myMethod();
}
}
不符合以下要求: 只包含一个方法的匿名内部类应成为 lambdas:将此匿名内部类设为lambda
我该怎么解决呢?你提出的两个问题确实是规则提出的假阳性。 已创建错误通知单:和 要详细说明一下: 当存在
此
引用时,不应提出问题(第二种情况),因为它实际上是不可修复的,我认为此规则应仅应用于单个抽象方法接口,而不是每个匿名类来修复第一种情况的问题
import java.util.Observable;
import java.util.Observer;
public abstract class Main {
public static void main(String[] args) {
Observable observable = new Observable();
observable.addObserver(new Observer() {
@Override
public void update(Observable o, Object arg) {
o.deleteObserver(this);
}
});
}
}