0

这可能是一个菜鸟问题,但我正在学习 java,我遇到了一个接口,其定义如下:

public interface MyClass <T extends Comparable<T>>

有人可以解释一下这是什么意思吗?我的意思是创建了什么样的界面。

4

3 回答 3

4

这意味着泛型类型参数必须实现Comparable接口。

指定时<T extends Comparable<T>>,您可以在 type 的此接口中使用例如 Collections.sort T。没有extends你不能保证T是可比的。

Numbers 和 String 例如可比较并实现Comparable接口。

于 2012-08-21T08:34:30.283 回答
1

该接口采用TComparableother相同的类型T

接口大致相同,只是它的泛型类型受到限制。

于 2012-08-21T08:34:47.170 回答
0

这意味着 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>

问候伊格纳西奥

于 2012-08-21T18:51:03.997 回答