如何将原语与Java Generics进行比较?

时间:2016-02-07 01:25:35

标签: java generics

我正在学习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

1 个答案:

答案 0 :(得分:3)

要比较两个Comparable个对象,必须使用compareTo,此处为x.compareTo(y)。你的方法可以写成

return x.compareTo(y) > 0 ? x : y;