为什么我会得到NullPointerException?

时间:2011-03-25 12:26:07

标签: java nullpointerexception

我想用

if (data[i] != null)

我会避免异常,但我仍然明白。 这是我的代码。

public Object get(String key)
{
    int i = hashCode(key);
    while (i != capacity)
    {
        if (data[i] != null)
        {
            if (key.equals(data[i].key()))
                return data[i].element();
            else
                i++;
        }
        else
        {
            return null;
        }
    }                   
    return null;
}

data [i]是一个空数组,都是null。

当我执行方法.get()时,我得到NullPointerException

1 个答案:

答案 0 :(得分:6)

您是否检查了在获得空指针异常的哪一行打印堆栈跟踪?

我认为您还应该检查data数组本身是否为空。

//EDIT: Taking the liberty to add code
if(data!=null && data[i]!=null)
{

}