作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试比较一个类中 Number 的两个子类与泛型。在下面的代码中,我尝试比较 Datum 实例中的 Number 对象。
我如何强制传递给 Datum 构造函数的两个参数属于同一类,以便我可以比较我所知道的可比较类型 - 例如浮浮沉沉,还是长浮沉沉?
Float f1 = new Float(1.5);
Float f2 = new Float(2.5);
new Datum<Number>(f1, f2);
class Datum<T extends Number> {
T x;
T y;
Datum(T xNum, T yNum) {
x = xNum;
y = yNum;
if (x > y) {} // does not compile
}
}
最佳答案
您可以将其限制为Number
的Comparable
子类:
class Datum<T extends Number & Comparable<? super T>> {
...
if (x.compareTo(y) > 0) { ... }
}
关于java - 如何比较相同类型的泛型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5372659/
我是一名优秀的程序员,十分优秀!