public abstract class SomeClass<Sometype extends OtherClass> extends Something implements Comparator<??>{
//code
我该如何更换?在Comparator中,它是任何扩展SomeClass的类?
答案 0 :(得分:2)
目前尚不清楚是否要携带类型边界或只允许SomeClass
的任何子类。
根据定义,您实现的compare
方法将允许与任何子类型进行比较(因为任何子类型在传递给方法时都可以转换为更通用的父类型。)
要允许任何参数化类型而不是限制性Sometype
,您可以写:
public abstract class SomeClass<Sometype extends OtherClass> extends Something
implements Comparator<SomeClass<?>>
使用显式类型边界编写它也是合法的:
public abstract class SomeClass<Sometype extends OtherClass> extends Something
implements Comparator<SomeClass<Sometype>>
答案 1 :(得分:0)
您无法使用? extends SomeClass
之类的内容,但您可以只使用Comparator<SomeClass>
并投射到您需要的内容