Если у меня есть класс, который использует шаблон <T>
, как сравнить две переменные типа T? Один из моих друзей сказал мне, что вы должны добавить <T extends Comparable<? super T>>
в свой класс, чтобы сравнить переменные типа T, но я не знаю, что он умеет. Вот мой класс:Сравнение дженериков в Java
public class SomeClass<T extends Comparable<? super T>>
{
public SomeClass(){}
public T foo(T par, T value)
{
if(value > par)
{
return value
}
else
{
return par;
}
}
}
И в моем Main.java:
SomeClass<Integer> sc = new SomeClass<Integer>();
Integer val1 = 10;
Integer val2 = 5;
System.out.println(sc.foo(val1, val2));
Ошибка я получаю:
error: bad operand types for binary operator '>' if(value > par)
CompareTo (par) работал. И спасибо за подсказку Я только начал Java на прошлой неделе. И ошибка 'T = 0' была ошибкой, зафиксирует ее в коде. –