我想用
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
。
答案 0 :(得分:6)
您是否检查了在获得空指针异常的哪一行打印堆栈跟踪?
我认为您还应该检查data
数组本身是否为空。
//EDIT: Taking the liberty to add code
if(data!=null && data[i]!=null)
{
}