Функция равенства определена в объекте базового класса. Исходный код выглядит следующим образом.
Скопируйте код кода следующим образом:
общественное логическое равенство (Object obj) {
возврат (это == объект);
}
Из исходного кода видно, что метод Equals() по умолчанию соответствует «==". Они являются ссылками на сравниваемые объекты, а не значениями объектов (это соответствует нашему здравому смыслу, согласно которому метод Equals() — это используется для сравнения объектов. Причина в том, что большинство классов в Java переопределяют метод Equals(). Ниже приведен пример класса String. Исходный код метода Equals() класса String выглядит следующим образом:)
[Ява]
Скопируйте код кода следующим образом:
/** Значение используется для хранения символов */.
частное конечное значение символа [];
/** Смещение — это первый индекс используемого хранилища */.
частное окончательное смещение int;
/** Число — это количество символов в строке */.
частный окончательный счетчик int;
[java] просмотреть PlainCopyprint?
общественное логическое равенство (Object anObject) {
если (это == объект) {
вернуть истину;
}
if (экземпляр объекта String) {
Строка другаяСтрока = (Строка)анОбъект;
int n = количество;
если (n ==otherString.count) {
символ v1[] = значение;
char v2[] =otherString.value;
int я = смещение;
int j =otherString.offset;
в то время как (n-- != 0) {
если (v1[i++] != v2[j++])
вернуть ложь;
}
вернуть истину;
}
} //www.software8.co
вернуть ложь;
}
Функция Equals() класса String очень проста: она просто преобразует класс String в массив символов и сравнивает его побитно.
Подводя итог, при использовании методаquals() мы должны обратить внимание на:
1. Поскольку метод Equals() применяется к пользовательскому объекту, необходимо переопределить системный метод Equals() в пользовательском классе.
2. Мало знаний – большая беда.