Intellij报告代码重复,但实际上并非如此



代码如下:方法test和test2中的代码不同,因为传递给test构造函数的参数不同。实际上,如果我将任何参数更改为null, intelllij将停止报告复制。有办法解决这个问题吗?

----更新--------

我传递了两个完全不同的函数,但智能j仍然报告重复

public class TestMain {
    public void test(int a)
    {
        System.out.println("haha");
        System.out.println("hahaa");
        TestMain testMain = new TestMain();
        new Test(testMain::test3);
        System.out.println("hahaaa");
    }
    public void test2(int a)
    {
        System.out.println("haha");
        System.out.println("hahaa");
        TestMain testMain = new TestMain();
        new Test(testMain::still_dup);
        System.out.println("hahaaa");
    }
    public void test3(int a) {
        System.out.println("abc");
    }
    public void still_dup(int a) {
        String b = "edf";
        b.toLowerCase();
    }
    public class Test {
        Test(handler h) {
        }
    }
    public interface handler<M> {
        void entitySelector(int a);
    }
    public static void main(String[] args) {
        TestMain test = new TestMain();
        test.test(1);
        System.out.println("-------");
        test.test2(2);
    }
}

我认为解决这个问题的最好方法是用单一方法替换testtest2。您不必区分传递给构造函数的内容,因为它是当前方法。这可能是报告代码重复的原因。

最新更新