1

我正在学习 Java 课程,我的文档将此方法标头作为通用示例。不幸的是,缺乏描述。有人可以解释一下这种打字是怎么回事吗?

public static <T extends Object & Comparable <? super T>> T max(T a, T b) {
...
...
...
}

谢谢!

4

1 回答 1

1

据我所知,

<T extends Object & Comparable <? super T>>

相当于:

<T extends Comparable<? super T>>

所以,这说:

T, 这应该与 比较T或比T.

这种结构迫使您选择 T like MyClass,如果MyClass声明为以下之一:

MyClass implements Comparable<MyClass>
MyClass implements Comparable<MySuperClass>
MyClass implements Comparable<Object>

但不允许:

MyClass implements Comparable<String>
MyClass implements Comparable<MyChildClass>

鉴于:MyChildClass extends MyClass extends MySuperClass extends Object

于 2013-11-03T23:57:31.377 回答