Witam
Jakiś czas temu zacząłem się uczyć programowania w javie na serwisie javastart.pl. Dotarłem do lekcji o metodzie equals(). I był przykład przesłoniętej metody:
@Override
public boolean equals(Object obj) {
// sprawdzenie równości fizycznej za pomocą ==
if (this == obj)
return true;
// sprawdzamy, czy nie null
if (obj == null)
return false;
// sprawdzamy, czy przekazany argument jest typu Student
if (!(obj instanceof Student))
return false;
//rzutowanie na odpowiedni typ
Student s = (Student) obj;
// sprawdzenie kolejnych pól klasy, uważając na wartości null
if(this.firstName == s.firstName && this.lastName == s.lastName)
return true;
** if(this.firstName != null)
if(!this.firstName.equals(s.firstName))
return false;
if (this.lastName != null)
if(!this.lastName.equals(s.lastName))
return false;**
//jeśli dojdziemy do tego miejsca to obiekty są równe
return true;
}
Pogrubiłem część kodu, której nie rozumiem. Czy ktoś byłby tak łaskawy i wytłumaczył mi to. Z góry dzieki.