Spec-Zone.ru › OpenJDK 27

Класс ObjectMethods

java.lang.Object
java.lang.runtime.ObjectMethods
public final class ObjectMethods extends Object
Методы начальной загрузки для реализаций основных методов, управляемых состоянием, включая Object.equals(Object), Object.hashCode() и Object.toString(). Эти методы могут использоваться, например, реализациями компиляторов Java для реализации тел методов Object для классов-записей.
Начиная с версии:
16

Краткое описание методов

Модификатор и тип Метод Описание
static Object bootstrap(MethodHandles.Lookup lookup, String methodName, TypeDescriptor type, Class<?> recordClass, String names, MethodHandle... getters)
Метод начальной загрузки для генерации методов Object.equals(Object), Object.hashCode() и Object.toString() на основе описания имен компонентов и методов доступа для точек вызова invokedynamic или записей динамического пула констант.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создает и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли этот объект какому-либо другому объекту.
protected void finalize()
Устарело, подлежит удалению: этот элемент API будет удален в одной из будущих версий.
Финализация устарела и будет удалена в одном из будущих выпусков.
final Class<?> getClass()
Возвращает класс среды выполнения для этого Object.
int hashCode()
Возвращает значение хеш-кода для этого объекта.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
String toString()
Возвращает строковое представление объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения определенного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения определенного промежутка реального времени.

Подробное описание методов

bootstrap

public static Object bootstrap(MethodHandles.Lookup lookup, String methodName, TypeDescriptor type, Class<?> recordClass, String names, MethodHandle... getters) throws Throwable
Метод начальной загрузки для генерации методов Object.equals(Object), Object.hashCode() и Object.toString() на основе описания имен компонентов и методов доступа для точек вызова invokedynamic или записей динамического пула констант. Подробнее о семантике сгенерированных методов см. спецификации Record.equals(Object), Record.hashCode() и Record.toString().
Параметры:
lookup — контекст поиска вызывающего кода с полными привилегиями
methodName — имя генерируемого метода, которым должно быть одно из значений "equals", "hashCode" или "toString"
type — MethodType, соответствующий типу дескриптора метода; он должен соответствовать дескриптору соответствующего метода Object, если связывается точка вызова invokedynamic, или константе MethodHandle.class, если связывается динамическая константа
recordClass — класс-запись, содержащий компоненты записи
names — список имен компонентов, объединенных в строку с разделителем «;», либо пустая строка, если компонентов нет. Этот параметр игнорируется, если параметр methodName имеет значение "equals" или "hashCode"
getters — дескрипторы методов для методов доступа к компонентам
Возвращает:
точку вызова, если вызвано через indy, или дескриптор метода, если вызвано через condy
Вызывает исключение:
IllegalArgumentException — если аргументы начальной загрузки недопустимы или противоречивы
Throwable — если при создании точки вызова возникает исключение

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, общие сведения, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее дочерних компаний в США и других странах.
Авторские права © 1993, 2026, Oracle и/или ее дочерние компании, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API