Введение
Объектный класс: этот класс java.lang.java - родительский класс, унаследованный всеми классами по умолчанию.
Три часто используемые методы в классе объекта: toString() , equal() , hashCode()
1. Самоуправление объекта ToString () метода и самостоятельного введения объекта
Во время самоопределения объекта, поскольку трудно печатать переменные экземпляра, используя метод get() , toString() используется для простоты.
Public String toString () {return "Learn Well" + getNo () + "name" + getName ();} System.out.println(s); эквивалентен System.out.println(s.toString());
Печать:
а Распечатайте его значение напрямую, когда основной тип данных
беременный Вызовите toString() при обращении к типу данных и печати
Если метод toString() в классе объекта не переписывается, печатайте объект напрямую, и результат, полученный в консоли::
HashCode, содержащий полное имя @ Object
2. Перезапись equals () Метод equals () должен переписать Hashcode ().
Equals() сравнивает содержимое двух объектов или двух объектов; hashCode() является внутренним адресом объекта и является целым числом.
== Разница между равным ()?
Ответ: == Основное сравнение является двоичным, базовый тип данных сравнивает численные значения, а тип эталона сравнивает адрес
Equals() делится на equals() класса объекта и equals() класса строки. equals() класса объекта эквивалентен == Сравнение эталонного типа; equals() из класса строки переопределяет метод equals() в классе объекта, сравнивая буквальные значения.
Экземпляр определяет имя класса или может использовать отражение
Справочная переменная объекта Имя Имя экземпляра класса выражение Имя, если имя эталонной переменной объекта - это класс или базовый объект класса, возвращаемое значение которого все еще остается истинной.
Пользовательский метод equals() :
1. Тот же тип
2. Определите свои собственные правила сравнения
Public Boolean Equals (Object Object) {// Перепишите метод equals () объекта evalStest evalStest = (everseStest) объект; if (evaleStest.getClass () == evaneStest.class) {///????????F?if((This.name==EqualStest.name); true;} else {return false;}} else {return false;}}3. Метод HashCode () используется для ускорения поиска и реализации поиска индекса (алгоритм запроса, алгоритм хранения)
Public int hashcode () {return this.name.hashcode ()*13 + new Interger (getage) .hashcode ()*12;}Два принципа хэшкода:
1. Когда возвращаемое значение двух объектов equals() методы верно, их методы hashCode() также должны гарантировать, что возвратное значение одинаково.
2. Использование equals() для сравнения свойств, используемых в объекте, и все они должны использоваться для расчета hashCode() .
HashCode () Алгоритм хэш -кода
нуждаться:
1. Возвратное значение hashCode() одинаково, и возвратное значение equals() также должно быть одинаковым.
2. Перепишите, какие атрибуты используют hashCode() и какие атрибуты использовать в методе equals() .
Примечание: хэшкод одинаково, равные не обязательно одинаковы.
HashCode используется для оценки папок, и Equals используется для оценки файлов.
Если метод hashCode() не переопределен, метод по умолчанию hashcode () найден на основе адреса объекта (значение ключа является адресом объекта)
Если вы переписываете метод hashCode() , он не может быть использован для определения того, является ли он одним и тем же объектом.
Вы можете использовать System.identityHashCode (ссылочное имя объекта) Если хэшкод одинаков, это тот же объект.
System.out.println(System.identityHashCode(对象的引用名));
Если нет hashCode() , хэшкод его объекта рассчитывается по адресу объекта.
System.out.println(对象引用名.hashCode());
ПРИМЕЧАНИЕ. Существуют ли элементы в сборе хэшса и методами удаления операций зависимостей hashCode() и equals() элемента.
Суммировать
Выше приведены три общих метода родительского объекта в Java, составленной для вас. Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, вы можете оставить сообщение для общения. Спасибо за поддержку Wulin.com.