5

有没有办法强制java泛型中的类型参数实现equals方法?比如我写了这个类:public class Bag<Item> implements Iterable<Item>which has containsmethod, that uses Item.equalsmethod。所以我想确保泛型中传递的 Object 也将实现该equals方法。

4

1 回答 1

7

您可以创建一个名为 的抽象基类ItemBase,使 equals abstract 和 have Item extend ItemBase

public abstract class ItemBase {

  @Override
  public abstract boolean equals(Object o);
}

public class Bag extends ItemBase

这将迫使任何实施 ItemBase 的人专门实施 equals

于 2013-08-19T20:03:45.220 回答