Как сравнить объекты по параметрам

172
20 июля 2019, 06:00

Как сравнить два объекта по их параметрам. То есть, например у меня есть два объекта:

Test t = new Test("Vvv","Aaa");
Test t1 = new Test("VVv,"Aaa");

Как мне их сравнить по значениям, то есть если два значения совпадают, то true.

Answer 1

Переопределить в классе Test метод equals:

class Test {
    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        Test other = (Test) obj;
        if (!this.someField.equals(other.someField))
            return false;
        if (!this.anotherField.equals(other.anotherField))
            return false;
        return true;
    }
}
Answer 2

Чтобы сравнить два объекта нужно переопределить метод equals(), например, таким образом:

public class Test {
            String x;
            String y;
        public Test(String x, String y) {
            this.x = x;
            this.y = y;
        }
        @Override
        public boolean equals(Object obj) {
            Test other = (Test) obj;
            if(this.x.equals(other.x) && this.y.equals(other.y)){
                return true;
            }else {
                return false;
            }
        }
    }
READ ALSO
Раскрывающийся список select и несколько баз данных

Раскрывающийся список select и несколько баз данных

Допустим есть объект organisations, содержащий в каждой ячейке объект, включающий в себя наименование организации, ИНН, ОГРН и адрес, примерно так:

145
Два свайп меню, как сделать открытие/закрытие в зависимости от жеста?

Два свайп меню, как сделать открытие/закрытие в зависимости от жеста?

Интересуют рабочие примеры с несколькими разными меню, которые также открываются/закрываются с помощью свайпаНапример меню 1 (поиск), открывается...

120
Алгоритм сетки для сапера

Алгоритм сетки для сапера

Пишу на js игру саперКак мы знаем, при клике по определенной клеточке все клеточки которые касаются к ней проверяются на наличие мин и таким...

133