【发布时间】:2010-04-21 13:19:54
【问题描述】:
我想与T extends Number 类型的变量进行比较。现在我想知道这两个变量中的哪一个大于或等于另一个。不幸的是我还不知道确切的类型,我只知道它将是java.lang.Number 的子类型。我该怎么做?
编辑:我使用TreeSets 尝试了另一种解决方法,它实际上适用于自然排序(当然它有效,Number 的所有子类都实现了Comparable,除了 AtomicInteger 和 AtomicLong) .因此我会丢失重复的值。使用Lists 时,Collection.sort() 将不接受我的列表,因为绑定不匹配。很不满意。
【问题讨论】:
-
嗯 - 这是相关的:stackoverflow.com/questions/480632/…
-
这不应被标记为“泛型”。在这种情况下,“泛型”不是指 Java 泛型。
-
Google Collections 有一个 TreeMultiSet,可让您对内容进行排序而不会丢失重复项。
标签: java generics numbers comparable