preloder
دانستنی‌ها

folder.listFiles ممکن است خطای NullPointer پرتاب کند

اگر از دستور folder.listFiles() بیش از یکبار در کدتان استفاده می‌کنید، ممکن است با خطای NullPointer روبرو شوید. 

اگر کد زیر را در IntelliJ IDEA بزنید با یک هشدار روبرو می‌شوید:

در این هشدار گفته می‌شود

Dereference of ‘folder.listFiles()’ may produce ‘java.lang.NullPointerException

با توجه به اینکه در خط دوم صراحتا null نبودن در حال بررسی است شاید چنین هشداری عجیب به نظر برسد. اما در واقع این بررسی بی‌‌مورد است. listFiles() در هر فراخوانی دایرکتوری جاری را جستجو می‌کند. پس با دو فراخوانی در کد بالا، دایرکتوری جاری در دومین اجرا ممکن است خالی شده باشد هرچند در اولین فراخوانی خالی نبوده است.

این راه حل بهتری است:

حالا تابع listFiles() تنها یک بار فراخوانی می‌شود پس دایرکتوری بین دو فراخوانی نمی‌تواند خالی شده باشد.

منبع:

https://dzone.com/articles/

[تعداد: 0    میانگین: 0/5]
برچسب ها
نمایش بیشتر

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

همچنین ببینید

بستن
دکمه بازگشت به بالا