Класс 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 |
Метод начальной загрузки для генерации методов 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 |
Указывает, равен ли этот объект какому-либо другому объекту. |
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 |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо истечения определенного промежутка реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова 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— если при создании точки вызова возникает исключение
© 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.