我正在学习java泛型。我想使用无界泛型来比较基元。我有以下代码,
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
最佳答案
要比较两个 Comparable
对象,您必须使用 compareTo
,此处为 x.compareTo(y)
。你的方法可以这样写
return x.compareTo(y) > 0 ? x : y;
关于java - 如何比较原语和 Java 泛型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35248671/