还有另一种类型的擦除错误

时间:2017-02-28 03:33:43

标签: java generics type-safety

我有一个抽象类A,它包含一个与java.util.List中的sort方法冲突的方法排序

 public abstract class A<T> extends AbstractList<T> implements
   RandomAccess {
       //bunch of stuff 
        public void sort(final Comparator<T> comparator) {
        java.util.Collections.sort(this, comparator);
    }
  }

我阅读了关于泛型类型擦除的所有链接答案,我知道为什么他们有相同的名字冲突。但是,我不想只是更改我的方法的名称来摆脱这个错误。由于A类扩展了AbstractList,而AbstractList又实现了List,因此链接问题中给出的解决方案无法帮助我解决这种情况。

P.S。我很清楚这是一个多余/重复的问题,但是,它可能会解决可能存在或不存在的情况,并且无疑取决于我对该概念的新颖性。我无法找到处理这种情况的SO问题。

问题清单:

  1. interface and a class. name clash: same erasure, yet neither overrides other

  2. Implementing Comparable, compareTo name clash: "have the same erasure, yet neither overrides the other"

  3. JAVA GENERICS ERROR: have the same erasure, yet neither overrides the other

0 个答案:

没有答案