Я построил класс с помощью одной строки поля. Затем я создал два объекта, и я должен сравнить их с помощью == оператора и. Equals () тоже. Вот что я сделал: < /p>
public class MyClass {
String a;
public MyClass(String ab) {
a = ab;
}
public boolean equals(Object object2) {
if(a == object2) {
return true;
}
else return false;
}
public boolean equals2(Object object2) {
if(a.equals(object2)) {
return true;
}
else return false;
}
public static void main(String[] args) {
MyClass object1 = new MyClass("test");
MyClass object2 = new MyClass("test");
object1.equals(object2);
System.out.println(object1.equals(object2));
object1.equals2(object2);
System.out.println(object1.equals2(object2));
}
}
< /code>
после компиляции он показывает в результате два раза. Почему это неверно, если у двух объектов есть одинаковые поля - «тест»?
Подробнее здесь: https://stackoverflow.com/questions/133 ... d-operator