Java. Значение <T extends Comparable<T>>
?
a) Comparable <T>
- общий интерфейс (помните, что это «интерфейс», то есть не «класс»)
b ) extends
означает наследование от класса или интерфейса.
С вышеуказанной точки # a это интерфейс .. (Помните, что это наследование от «интерфейса», то есть не от «класса»)
c) От выше упомянутых обеих точек #a & amp; #b,
здесь «один интерфейс» расширяет «другой интерфейс».
Для этого класса должен быть определенный интерфейс. Например, здесь есть
interface MinMax<T extends Comparable<T>> {
T min();
T max();
}
d) теперь ваш класс, т. е. public class RClass {}
СЛЕДУЕТ
1 # ЭТО «реализовать» этот «общий интерфейс» Comparable<T>
.. !!!
ex: public class RClass<T> implements Comparable<T>
2 # ИЛИ создать интерфейс и перейти к этому «универсальному интерфейсу» Comparable<T>
ex:
interface MinMax<T extends Comparable<T>> {
T min();
T max();
}
class RClass<T extends Comparable<T>> implements MinMax<T> {
.....
.....
}
Здесь обратите особое внимание на то, как параметр типа T объявляется RClass, а затем передается в MinMax
. Поскольку для MinMax
требуется тип, реализующий Comparable
, класс реализации (RClass в этом случае) должен указывать ту же самую границу. Кроме того, после того, как эта оценка была установлена, нет необходимости указывать ее снова в предложении tools.