2011-11-14 5 views
0
Timestamp[] lastreply = new Timestamp[100]; 
replyr = lastreplyr[i].getTime(); 
System.out.println("Replyr: "+replyr); 
lastreply[count].setTime(replyr); 
System.out.println("lastreply: "+lastreply[count]); 

консоли:SetTime() бросает NullPointer Exception

Replyr: 1321116689000 
java.lang.NullPointerException 
    at website.web.InboxReader.getLastReply(InboxReader.java:937) 
    at website.web.InboxReader.main(InboxReader.java:55) 

Почему lastreply становится нулевой? В коде число начинается с 0.

Thanks.

ответ

4

Это проблема:

lastreply[count].setTime(replyr); 

lastreply[count] равна нулю, так как Отметка является объектом. Когда вы создаете экземпляр массива объектов, тогда все значения равны null. Перед началом использования вам необходимо вставить ссылки на объекты.

+0

Если это было null, почему ответ не равен нулю? – Ava

+0

@PetarIvanov - У вас есть ошибка копирования и вставки. 'lastreplyr' в порядке, это массив' lastreply', который он не назначает новым объектам TimeStamp. Исправлено: –

+0

ой, правильно! спасибо –