如何处理List IndexOutOfBoundsException



我正试图为LinkedList编写一个get((方法,其中私有方法由公共方法使用,但我一直得到IndexOutOfBoundsException,我不知道它来自哪里。

这个异常似乎也只是不喜欢整数值、字符串、双精度和所有其他数据类型

这个列表主要没有固定的长度,所以现在我不知道java为什么抱怨。

public E get(int i)
{
if (i < 0 || i >= size())
{
throw new IndexOutOfBoundsException("" + i);
}
else if (i == 0 )
{
return head.value;
}
return get(i, head);
}
private E get(int i, Node node)
{
if (i == 0)
{
return (E) node.value;
}
return (E) get(i - 1, node.next);
}

您显示的代码是正确的(尽管它可能更简单(。我能想到它抛出IndexOutOfBoundsException:的两个可能原因

  1. 传递给CCD_ 2的索引是错误的
  2. 方法size()没有返回正确的值

我想这是我们从阅读你的问题中所能知道的。

相关内容

  • 没有找到相关文章

最新更新