【发布时间】:2014-02-25 21:28:54
【问题描述】:
我正在尝试在 Java 中创建一个自定义列表对象,该对象在“”中具有参数化类型(如 ArrayLists)。但是,这些参数化类型需要实现 Comparable 接口(因为列表会自动排序和组织)。
我遇到的问题是语法并确保 1) 列表元素是可比较对象,而不仅仅是任何对象,以及 2) 像 @987654321 这样的 getter 方法@ 应该返回列表类型的对象而不需要强制转换,即,如果使用 < Integer > 参数化创建列表,get() 的返回类型应该是 Integer,而不是 Comparable 或 Object。
我知道 Java 中的参数化对象可以使用 < E > 和 < T > 之类的东西创建,但这不允许我要求列表的元素是 Comparable。
顺便说一句,如果您有任何 cmets,例如“只需使用 ArrayList 或 LinkedList”。或“你为什么要使用自定义列表,笨蛋?”,请自己保密。我想创建一个不适合任何现有结构的组织良好、高效的列表系统。 Comparable 要求是列表自动排序所必需的。
如果有人能告诉我如何做到这一点,将不胜感激。
【问题讨论】:
-
你能告诉我们你创建的类的骨架吗
标签: java list generics comparable parameterized