+1 امتیاز
قبل در برنامه نویسی توسط (922 امتیاز)
ویرایش شده قبل توسط

من یه کد برای پردازش یک لیست دارم که با foreach در جاوا پیاده سازیش کردم، نمی دونم چرا وقتی به حلقه foreach که می رسه NullPointerException. 

برنامرو که debug می کنم وقتی تو پایگاه داده هیچ اطلاعاتی وجود نداره اینجا NullPointerException می ده.

for (UserModel user : userList) {
    // do whatever
}

 

1 پاسخ

+2 امتیاز
قبل توسط (255 امتیاز)
انتخاب شده قبل توسط
 
بهترین پاسخ

وقتی foreach میخواد به سراغ آیتم های این لیست بره چون لیست خالی هست exception  میده. طبیعیه چون میخواد از آنها استفاده کنه. برای اینکه این قسمت رو مدیریت کنید، بهتراست شما قبل از دستور foreach کدی برای چک کردن خالی نبودن لیست بنویسید.

موفق باشید.

قبل توسط (922 امتیاز)
منظورتون از خالی بودن: size = 0 یا null ؟
قبل توسط (255 امتیاز)
بله دقیقا. (if (list.size()==0  بیشتر جواب میده.
قبل توسط (922 امتیاز)
من قبل از حلقه for صفر بودن لیست رو که میام چک کنم بازم NullPointerException می ده.
ممنون مشکلرو فهمیدم باید null بودن لیست رو چک کنم. یا اینکه اصلا لیست null نفرستم.
قبل توسط (255 امتیاز)
درسته!
وقتی لیست خالی باشه گرفتن سایزش بی معنیه! آفرین.
قبل توسط (40 امتیاز)
+1
دلیل NullPointerException فراخوانی خودکار متد iterator لیست مورد نظر است.
قبل توسط (255 امتیاز)
Thanks for your comment

سوالات مشابه

0 امتیاز
1 پاسخ 1.1هزار بازدید
0 امتیاز
1 پاسخ 247 بازدید
0 امتیاز
1 پاسخ 459 بازدید
0 امتیاز
1 پاسخ 223 بازدید
سوال شده 4 سال قبل در برنامه نویسی توسط 1993 (242 امتیاز)
0 امتیاز
0 پاسخ 347 بازدید
0 امتیاز
2 پاسخ 502 بازدید
+1 امتیاز
1 پاسخ 395 بازدید
سوال شده 9 سال قبل در برنامه نویسی توسط tashtboland (2.2هزار امتیاز)
0 امتیاز
2 پاسخ 935 بازدید
...