hətta-təcrubəli-inkisaf-etdiricilərin-etdikləri-umumi-java-səhvləri
Hətta təcrübəli inkişaf etdiricilərin etdikləri ümumi Java səhvləri

Hətta təcrübəli inkişaf etdiricilərin etdikləri ümumi Java səhvləri

Şəkildə tam ölçüdə görüntüləmək üçün Enter düyməsini basın və ya vurun

Java on illərdir müəssisə inkişafının bir təməl daşı olmuşdur, lakin hətta təcrübəli tərtibatçılar da eyni tələlərə düşürlər. Ən çox görülən səhvləri və onlardan necə qorunacağını araşdıraq.

1. () və hashcode () müqavilə ilə əlaqəli)

Ən çox görülən səhvlərdən biri də ləğv olunur equals() yalnışlıqsız hashCode()və ya əksinə. Bu ümumi müqaviləni pozur və hashmap və hashet kimi kolleksiyalarda qəribə davranışa səbəb olur.

Problem:

public class User {
private String email;

@Override
public boolean equals(Object o) {
if (this==o) return true;
if (!(o instanceof User)) return false;
User user=(User) o;
return email.equals(user.email);
}
// Missing hashCode()!
}

Həll yolu:

Həmişə hər iki üsulu birlikdə ləğv edin. Müasir ides bunları sizin üçün yarada və ya istifadə edə bilər Objects.hash() Rahatlıq üçün:

@Override
public int hashCode() {
return Objects.hash(email);
}

2. Looplarda simli birləşməni sui-istifadə edin

İstifadə edərək döngələrdə qurma ipləri + Operator, yoxsullara aparan lazımsız ara simli obyektləri yaradır …

Qaynaq