Класс 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- список имён компонентов, объединённых в строку, разделённую точкой с запятой, или пустая строка, если компонентов нет. Этот параметр игнорируется, если параметрmethodNameравен"equals"или"hashCode" -
getters- обработчики методов для методов доступа к компонентам - Возвращает:
- место вызова, если вызывается indy, или обработчик метода, если вызывается condy
- Исключения:
-
IllegalArgumentException- если аргументы заготовки некорректны или противоречивы -
NullPointerException- если какой-либо аргументnullили если какой-либо элемент в массивеgettersnull -
Throwable- если при построении места вызова возникает какое-либо исключение
© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/runtime/ObjectMethods.html