这可能是一个菜鸟问题,但我正在学习 java,我遇到了一个接口,其定义如下:
public interface MyClass <T extends Comparable<T>>
有人可以解释一下这是什么意思吗?我的意思是创建了什么样的界面。
这意味着泛型类型参数必须实现Comparable
接口。
指定时<T extends Comparable<T>>
,您可以在 type 的此接口中使用例如 Collections.sort T
。没有extends
你不能保证T
是可比的。
Numbers 和 String 例如可比较并实现Comparable
接口。
该接口采用T
与Comparable
other相同的类型T
。
接口大致相同,只是它的泛型类型受到限制。
这意味着 T 必须在同一个对象上实现 Comparable。
例如
public interface MyClass <T extends Comparable<T>>
然后你可以使用如下
public class MyImpl implements MyClass<String>
它是有效的,因为 String 实现了 Comparable。但是下面这句话是无效的,因为 MyNewImpl 没有实现 Comparable。
public class MyNewImpl {}
public class MyImplTwo implements MyClass<MyNewImpl>
问候伊格纳西奥