ArrayOutOfBounds异常

时间:2014-03-19 04:32:20

标签: java arrays exception exception-handling

public void delete(int index)
{
    if (index < 0 || index > _____)
    {
        throw new ArrayIndexOutOfBoundsException();
    }

    {
        Node<X> current = head;
        for (int i = 0; i < index; i++)
        {
            current = current.getLink();
        }

        Node<X> newNode = new Node<X>();
        newNode.setLink(current.getLink());
        current.setLink(newNode);
    }
}

所以我似乎无法弄清楚在使用节点对象时为索引编写一个outofbounds异常的逻辑。它不像我可以做head.length,所以我会首先使用.getLink循环来找到Null吗?它不像我可以做索引!= null。

2 个答案:

答案 0 :(得分:2)

if (index < 0 || index >= sizeOfList)
{
    throw new ArrayIndexOutOfBoundsException();
}

如果你有一个计算集合长度的函数。

答案 1 :(得分:1)

在编写代码时,您需要检查边缘情况。 这是最好的做法。

因为你错过了大小为0且列表已满的边缘情况,在上面提到的例子中,你得到的是ArrayIndexOutOfBoundsException。