【问题标题】:Anonymous Inner classes inside generics泛型内部的匿名内部类
【发布时间】:2014-09-29 00:39:17
【问题描述】:

我创建了一个 'T' 的 ArrayList:

ArrayList<T> al = new ArrayList<>();

但是,我想覆盖此 ArrayList 中的 T 的比较方式(例如,通过使用匿名内部类)。

有什么方法可以在不创建T 的子类的情况下做到这一点?

【问题讨论】:

  • 什么时候比较?你的问题不清楚。子类与它有什么关系?
  • 我只想为这个数组列表覆盖 T 的 equals 方法。
  • 不,这是不可能的。
  • 您可以提供自定义Comparator&lt;T&gt; 以在比较/排序/等时使用。但是,如果要通过“其他”代码对列表等进行排序,则不能“包含”该列表with
  • @Bohemian 我已经有了。但是,我想要一个不同的比较器用于这个 ArrayList 实现。

标签: java generics overriding anonymous-inner-class


【解决方案1】:

为什么不直接对 ArrayList 进行参数化,然后让您放入列表中的对象实现可比较的接口?也许我错过了你在这里尝试做的事情,但看起来你已经完成了工程排序。

http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html

【讨论】:

    最近更新 更多