我正在学习java Generics。我想使用无界Generics比较基元。我有以下代码,
public static <T extends Comparable<T>> T max(T x, T y) {
return x > y ? x : y;
}
但它不会编译。错误是:
The operator > is undefined for the argument type(s) T
答案 0 :(得分:3)
要比较两个Comparable
个对象,必须使用compareTo
,此处为x.compareTo(y)
。你的方法可以写成
return x.compareTo(y) > 0 ? x : y;