这是代码。方法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);
}
}
答案 0 :(得分:0)
我认为解决此问题的最佳方法是用单个方法替换test
和test2
。您不必区分传递构造函数的内容,因为它是当前方法。这可能是报告代码重复的原因。这些方法可以单独替换,没有问题。