有没有办法在java泛型中强制类型参数来实现equals方法?例如,我写了这个类:public class Bag<Item> implements Iterable<Item>它有contains方法,使用Item.equals方法.所以我想确保泛型中传递的Object也将实现该equals方法.
你可以创建一个名为abstract的抽象基类ItemBase,然后使用Item extend ItemBase.
public abstract class ItemBase {
@Override
public abstract boolean equals(Object o);
}
public class Bag extends ItemBase
Run Code Online (Sandbox Code Playgroud)
这将强制任何实现ItemBase的人专门实现equals