我一直在研究第一年Java课程中棘手问题的答案,具体而言,我需要编写一个能够将一个通用列表,并在列表中找到最高和最低。在Java中使用泛型(使用相同类型进行比较和求和)
我完全有能力分别完成这两项任务,使T(通用类型)扩展数字以进行求和,并进行比较以进行比较。当我尝试完成两个相同泛型类型的任务时,就会发生这个问题,因为Java无法实现多重继承。
总之,我怎么能完成这两项任务,而T的上界是Number类?
代码片段和建议感谢!
我一直在研究第一年Java课程中棘手问题的答案,具体而言,我需要编写一个能够将一个通用列表,并在列表中找到最高和最低。在Java中使用泛型(使用相同类型进行比较和求和)
我完全有能力分别完成这两项任务,使T(通用类型)扩展数字以进行求和,并进行比较以进行比较。当我尝试完成两个相同泛型类型的任务时,就会发生这个问题,因为Java无法实现多重继承。
总之,我怎么能完成这两项任务,而T的上界是Number类?
代码片段和建议感谢!
T extends Number & Comparable<T>
应该这样做。 T extends Number & Comparable<? super T>
有点更一般。
的Java不支持“接口的多重继承”(也许还有一些怪人多种实现的继承”在Java SE 8)一个类继承另一个类,并能实现多种接口。
(不知道是否java.lang.Number
你可能想要按照与Comparator
类似的方法向你介绍自己的类型。)
非常感谢!因为我们还没有使用过比较器,所以我将简单地使用这样一个事实,即元素必须全部是Number并且取其doubleValue(); My p在向我们提供此类信息时,rof并不是最好的,所以再次感谢! – user1297003 2012-03-28 03:01:18
http://onjava.com/onjava/excerpt/javaian5_chap04/index1.html看起来可能对你有帮助 – GreyBeardedGeek 2012-03-28 02:54:51