HashMap-də mövcud olmayan açar ilə elementə daxil olmaq nə qədər təhlükəsizdir?
sobes.tech Süni İntellekt
AI-dan cavab
HashMap içində mövcud olmayan açar ilə elementə müraciət edərkən, get() metodu null qaytarır. Bu, IndexOutOfBoundsException tipli istisnanın yaranmaması mənasında təhlükəsizdir, məsələn, yanlış indekslə array və ya siyahıya müraciətdə olduğu kimi.
Ancaq, əgər sonrakı kod alınan nəticənin null olmayacağını fərz edirsə (məsələn, bu obyekt üzərində metodlar çağırmaq kimi), bu, NullPointerException-a səbəb ola bilər.
Təhlükəsiz işləmə üçün tövsiyə olunur:
-
Nəticəni
nullüçün yoxlamaq:// Null yoxlaması nümunəsi Object value = hashMap.get(nonExistentKey); if (value != null) { // value istifadə et } else { // Açarın olmaması halını idarə et } -
getOrDefault()kimi, standart dəyər və ya daha təhlükəsiz davranış təmin edən metodlardan istifadə etmək (Java 8-dən etibarən mövcuddur):// getOrDefault istifadə nümunəsi Object value = hashMap.getOrDefault(nonExistentKey, defaultValue); -
Java 8 ilə gələn
Optionalquruluşundan istifadə etmək, əgər uyğundursa, mümkün dəyər yoxluğunu daha aydın göstərmək üçün:// Optional istifadə nümunəsi Optional<Object> optionalValue = Optional.ofNullable(hashMap.get(nonExistentKey)); if (optionalValue.isPresent()) { // Dəyərdən istifadə: optionalValue.get() }
Beləliklə, get() metoduna birbaşa müraciət təhlükəsizdir, lakin alınan null dəyəri ilə düzgün yoxlama olmadan işləmək NullPointerException-a səbəb ola bilər.