java - 如何在 Java 中使用 Comparables 创建自定义参数化列表对象?

标签 java list generics comparable parameterized

我正在尝试在 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/

相关文章:

java - 如何调试 Wicket 口异常

java - 对对象列表进行排序

java - 这是创建接受任何类型集合的方法的最佳选择吗?

java - 单击菜单项按钮时打开新 Activity 不起作用

java - 我无法决定存储字符串以实现我想要实现的目标的最佳方式

c# - 在 C# 中获取不同整数集的最佳方法

r - 将列表中的行与 R 中有意义的重复行绑定(bind)

c# - 如何给泛型施加对引用类型的约束?

JavaFX 将问号 TableView 转换为已知类型

java - 需要在 Mac OS X 上安装 Java 8 的帮助