Cześć,
nie mogę rozpracować prostej sprawy. Dlaczego np. taka metoda:
boolean check(){
if (50 > 20) {
return true;
}
if (50 > 10) {
return false;
}
if (50 > 5) {
return false;
}
return false;
}
zwraca true
, a nie false
. Skoro każdy kolejny warunek jest sprawdzany, to już przy drugim if
powinno wywalić false
. Moje pytanie zrodziło się na kanwie przesłaniania metody equals(). Dlaczego kod:
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
miałby zadziałać prawidłowo, skoro moja metoda check() zawsze zwraca wartość pierwszego if
?
Z góry dziękuję za wyjaśnienie.