Класс ObjectMethods
java.lang.Object
java.lang.runtime.ObjectMethods
public class ObjectMethods extends Object
Методы-загрузчики для реализаций методов ядра, управляемых состоянием, включая
Object.equals(Object), Object.hashCode() и Object.toString(). Эти методы могут быть использованы, например, реализациями компилятора Java для реализации тел методов Object для классов записей.- Since:
- 16
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static Object |
bootstrap |
Метод-загрузчик для генерации методов Object.equals(Object), Object.hashCode() и Object.toString() на основе описания имён компонентов и методов доступа для сайтов вызовов invokedynamic или записей динамического пула констант. |
Подробное описание методов
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- Каждый метод загрузки должен иметьlookup, который обычно представляет контекст поиска с привилегиями доступа вызывающего объекта. Это связано с тем, что сайты вызововinvokedynamicвсегда предоставляютlookupсоответствующему методу загрузки, но этот метод просто игнорирует параметрlookup -
methodName- имя генерируемого метода, которое должно быть одним из"equals","hashCode", или"toString" -
type-MethodType, соответствующий типу описания для метода, который должен соответствовать описанию соответствующего методаObject, если связывается сайт вызоваinvokedynamic, или константаMethodHandle.class, если связывается динамическая константа -
recordClass- класс записи, содержащий компоненты записи -
names- список имён компонентов, соединённых в строку, разделённые ";", или пустая строка, если компонентов нет. Может быть null, еслиmethodNameявляется"equals"или"hashCode". -
getters- обработчики методов для методов доступа к компонентам - Возвращает:
- сайт вызова, если вызов осуществляется через indy, или обработчик метода, если вызов осуществляется через condy
- Исключение:
-
IllegalArgumentException- если аргументы загрузки неверны или противоречивы -
Throwable- если при построении сайта вызова возникает какое-либо исключение
© 1993, 2021, 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/17/docs/api/java.base/java/lang/runtime/ObjectMethods.html