作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在第一年的 Java 类(class)中,我一直在研究一个棘手问题的答案,具体来说,我需要制作一个程序,既能对通用列表中的元素求和,又能找到列表中的最高元素和最低元素。
我完全有能力单独完成这两项任务,让 T(通用类型)扩展 Number 进行求和,扩展 Comparable 进行比较。当我尝试在同一个泛型类型上完成这两项任务时,问题就出现了,因为 java 无法进行多重继承。
简而言之,当 T 的上限为 Number 类时,我如何完成这两项任务?
感谢代码片段和建议!
最佳答案
T extends Number & Comparable<T>
应该这样做。 T extends Number & Comparable<? super T>
比较笼统。
Java 确实支持“接口(interface)的多重继承”(在 Java SE 8 中可能还有一些奇怪的实现的多重继承)。一个类扩展另一个类并且可以实现许多接口(interface)。
(不确定 java.lang.Number
是否是您想要求和的内容。您可能想按照与 Comparator
类似的方式介绍自己的类型。)
关于java - 使用 Java 中的泛型类型(使用相同类型进行比较和求和),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9900436/
我是一名优秀的程序员,十分优秀!