用compare函数比较Java中的两个对象
我有一个有签名的班级用compare函数比较Java中的两个对象,java,Java,我有一个有签名的班级 public class MyLinkedList<E extends Comparable <? super E>> extends AbstractList<E> 错误在于它似乎无法比较非E类型。过了一会儿,错误不知怎么消失了,但我的代码仍然无法工作 我认为没有必要把我的全部代码都写出来,因为我认为这是比较的问题所在 您可能需要这样做: if(arr.get(i).compareTo(arr.get(j))>0) 观察co
public class MyLinkedList<E extends Comparable <? super E>> extends AbstractList<E>
错误在于它似乎无法比较非E类型。过了一会儿,错误不知怎么消失了,但我的代码仍然无法工作
我认为没有必要把我的全部代码都写出来,因为我认为这是比较的问题所在 您可能需要这样做:
if(arr.get(i).compareTo(arr.get(j))>0)
观察compareTo参数后的右括号在冒泡之前首先检查数组的大小,以避免出现
IndexOutOfBoundsException
private void bubbleUp(int index)
{
if(index != 0 && arr.size()>index){...}
}
你说得对。遗憾的是,有一个选项可以投票关闭打字错误。@user3511965是否覆盖了compareTo方法?是否覆盖了compareTo方法?重新阅读问题:
MyLinkedList@user3511965没错。这意味着您的代码很好,您的问题无法被当前上下文理解。请在出现此问题的地方发布相关代码(a)。@user3511965我不明白你最后的评论是什么意思。我甚至对你的问题投了赞成票,因为我看到了一个无效的(IMO)向下投票。我在这里唯一要求的是你发布必要的代码来复制问题,发现问题并通知你。目前,你要去看医生,说我头痛,给我药,我们问你症状,你一直说我头痛,你不明白吗?所以有几十种美第奇nes可能会帮助您,但在了解您的确切问题之前,我们无法提供任何帮助。
private void bubbleUp(int index)
{
if(index != 0 && arr.size()>index){...}
}