我正在尝试在 Java 中创建一个自定义列表对象,该对象在“<>”中具有参数化类型(如 ArrayList)。但是,这些参数化类型需要实现 Comparable 接口(interface)(因为列表会自动排序和组织)。
我遇到的问题是语法,并确保1)列表元素是可比较对象,而不仅仅是任何对象,并且2) getter方法(如get(index)
)应该返回列表类型的对象,无需强制转换,即,如果使用 < Integer >
创建参数化列表,则 get()
的返回类型应为 Integer,而不是 Comparable 或 Object。
我知道 Java 中的参数化对象可以使用 < E >
和 < T >
之类的东西创建,但这不允许我要求列表的元素是可比较的。
顺便说一句,如果您有任何类似“只需使用 ArrayList 或 LinkedList”之类的评论。或“你为什么要使用自定义列表,愚蠢的?”,请保密。我想创建一个组织良好、高效的列表系统,但不适合任何现有的结构。要使列表自动排序,需要可比较的要求。
如果有人能给我一个如何做到这一点的想法,我将不胜感激。
最佳答案
可比较的对象:
<V extends Comparable<V>>
关于java - 如何在 Java 中使用 Comparables 创建自定义参数化列表对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22026635/