Разбираюсь с hashCode()
и equals()
import java.util.Objects;
public class Man {
private String noseSize;
private String eyesColor;
private String haircut;
private boolean scars;
private int dnaCode;
public Man(String noseSize, String eyesColor, String haircut, boolean scars, int dnaCode) {
this.noseSize = noseSize;
this.eyesColor = eyesColor;
this.haircut = haircut;
this.scars = scars;
this.dnaCode = dnaCode;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (getClass() != o.getClass()) return false;
Man man = (Man) o;
return dnaCode == man.dnaCode;
}
public String getNoseSize() {
return noseSize;
}
public void setNoseSize(String noseSize) {
this.noseSize = noseSize;
}
public String getEyesColor() {
return eyesColor;
}
public void setEyesColor(String eyesColor) {
this.eyesColor = eyesColor;
}
public String getHaircut() {
return haircut;
}
public void setHaircut(String haircut) {
this.haircut = haircut;
}
public boolean isScars() {
return scars;
}
public void setScars(boolean scars) {
this.scars = scars;
}
public int getDnaCode() {
return dnaCode;
}
public void setDnaCode(int dnaCode) {
this.dnaCode = dnaCode;
}
}
Я вроде бы знаю как работает this, в конструкторе, в сеттере его пишу, но обычно this.что-то, а тут увидел в методе equals
, if (this == o) return true;
Не понял на что простой this ссылается?
this
указывает на то же самое что и всегда, на экземпляр класса Man
Тут происходит сравнение ссылок
@Override
public boolean equals(Object o) {
if (this == o) return true;
...
return false;
}
а смысл выражения if (this == o) return true;
завершить проверку и вернуть true
если в метод equals
передан этот самый объект.
Man philipFry = new Man();
Man hubertFarnsworth = new Man();
// вот тут сработает проверка равенства ссылок на экземпляры
System.out.println(philipFry.equals(philipFry)); // true
// а тут мы сравниваем 2 разных объекта
System.out.println(philipFry.equals(hubertFarnsworth)); // false
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Прочитал статью на Хабре и вот мои примеры и информация оттуда:
У меня есть ui с помощью которого я могу удалять, редактировать, добавлять записи в бдНа главной странице просто таблица с соответствующими...
Задача: написать функцию, которая принимает строку скобок, и определить, является ли порядок скобок действительным['(',')'] - это действительный...