【问题标题】:Why I can not overload this method? [duplicate]为什么我不能重载这个方法? [复制]
【发布时间】:2021-07-22 13:14:24
【问题描述】:

代码如下:

public class Test {    
    private static void print(List<Plant> plants) {
        
    }

    private static void print(List<Animal> animals) {

    }
}


class Animal {

}

class Plant {
   
}

当我想在动物和植物列表的测试类中重载print 方法时,编译器会说“两种方法都有相同的擦除”。当我研究“方法擦除”时,我无法将其与我的情况联系起来。

【问题讨论】:

    标签: java overloading


    【解决方案1】:

    因为List&lt;Plant&gt;List&lt;Animal&gt; 都是使用类型擦除的List(原始类型),所以编译器看到2 个print 方法是相同的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-16
      相关资源
      最近更新 更多