Spec-Zone.ru › OpenJDK 25

Класс ObjectMethods

java.lang.Object
java.lang.runtime.ObjectMethods
public final class ObjectMethods extends Object
Bootstrap-методы для реализаций основных методов, управляемых состоянием, включая 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)
Bootstrap-метод для генерации методов Object.equals(Object), Object.hashCode() и Object.toString() на основе описания имён компонентов и методов доступа — для точек вызова invokedynamic или записей динамического пула констант.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

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

bootstrap

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

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, способы обхода проблем и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/runtime/ObjectMethods.html

Spec-Zone.ru

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