Класс ObjectMethods
java.lang.Object
java.lang.runtime.ObjectMethods
public class ObjectMethods extends Object
Методы-загрузчики для реализаций методов ядра, основанных на состоянии, включая
Object.equals(Object), Object.hashCode() и Object.toString(). Эти методы могут использоваться, например, реализациями компилятора Java для реализации тел методов Object для классов записей.- С тех пор:
- 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- список имён компонентов, соединённых в строку, разделённые ";", или пустая строка, если компонентов нет. Этот параметр игнорируется, еслиmethodNameпараметр равен"equals"или"hashCode" -
getters- обработчики методов доступа к компонентам - Возвращает:
- сайт вызова, если вызван indy, или обработчик метода, если вызван condy
- Исключения:
-
IllegalArgumentException- если аргументы загрузки неверны или несовместимы -
NullPointerException- если любой аргументnullили любой элемент в массивеgettersравенnull -
Throwable- если при построении сайта вызова происходит какое-либо исключение
© 1993, 2023, 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/21/docs/api/java.base/java/lang/runtime/ObjectMethods.html