Intellij报告代码重复,而事实并非如此

时间:2016-09-23 06:26:17

标签: intellij-idea

这是代码。方法test和test2中的代码不同,因为传递给Test构造函数的参数不同。实际上,如果我将任何参数更改为null,则intellij会停止报告重复。有什么方法可以解决这个问题吗?

----更新了--------

我传递2个函数做完全不同的事情,但是intellij仍然报告重复

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);
    }
}

1 个答案:

答案 0 :(得分:0)

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