Spec-Zone.ru › OpenJDK 27

Перечисление MethodHandles.Lookup.ClassOption

java.lang.Object
java.lang.Enum<MethodHandles.Lookup.ClassOption>
java.lang.invoke.MethodHandles.Lookup.ClassOption
Все реализуемые интерфейсы:
Serializable, Comparable<MethodHandles.Lookup.ClassOption>, Constable
Внешний класс:
MethodHandles.Lookup
public static enum MethodHandles.Lookup.ClassOption extends Enum<MethodHandles.Lookup.ClassOption>
Набор параметров класса, определяющих, добавляется ли скрытый класс, созданный методом Lookup::defineHiddenClass, динамически в качестве нового члена к гнезду класса поиска и/или имеет ли скрытый класс сильную связь с загрузчиком классов, помеченным как его определяющий загрузчик.
Начиная с версии:
15

Краткое описание вложенных классов

Вложенные классы/интерфейсы, объявленные в классе Enum

Enum.EnumDesc<E>
Модификатор и тип Класс Описание
static final class  Enum.EnumDesc<E extends Enum<E>>
Номинальный дескриптор константы enum.

Краткое описание констант перечисления

Константа перечисления Описание
NESTMATE
Указывает, что скрытый класс следует добавить к гнезду класса поиска в качестве класса-члена гнезда.
STRONG
Указывает, что скрытый класс имеет сильную связь с загрузчиком классов, помеченным как его определяющий загрузчик, подобно тому, как обычный класс или интерфейс связан со своим определяющим загрузчиком.

Краткое описание методов

Модификатор и тип Метод Описание
static MethodHandles.Lookup.ClassOption valueOf(String name)
Возвращает константу перечисления этого класса с указанным именем.
static MethodHandles.Lookup.ClassOption[] values()
Возвращает массив, содержащий константы этого класса-перечисления в порядке их объявления.

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

clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf
Модификатор и тип Метод Описание
protected final Object clone()
Выбрасывает CloneNotSupportedException.
final int compareTo(MethodHandles.Lookup.ClassOption o)
Сравнивает это перечисление с указанным объектом для определения порядка.
final Optional<Enum.EnumDesc<MethodHandles.Lookup.ClassOption>> describeConstable()
Возвращает дескриптор перечисления EnumDesc для этого экземпляра, если его можно создать, или пустой Optional, если создать его невозможно.
final boolean equals(Object other)
Возвращает true, если указанный объект равен этой константе перечисления.
protected final void finalize()
Устарело и подлежит удалению: этот элемент API будет удален в будущей версии.
Финализация признана устаревшей и подлежит удалению.
final Class<MethodHandles.Lookup.ClassOption> getDeclaringClass()
Возвращает объект Class, соответствующий типу перечисления этой константы перечисления.
final int hashCode()
Возвращает хеш-код этой константы перечисления.
final String name()
Возвращает имя этой константы перечисления в точности в том виде, в котором оно объявлено в объявлении перечисления.
final int ordinal()
Возвращает порядковый номер этой константы перечисления (её позицию в объявлении перечисления, где начальной константе присваивается порядковый номер ноль).
String toString()
Возвращает имя этой константы перечисления в том виде, в каком оно указано в объявлении.
static <T extends Enum<T>>
T
valueOf(Class<T> enumClass, String name)
Возвращает константу указанного класса перечисления с указанным именем.

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

getClass, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ожидать, пока он не будет разбужен, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать, пока он не будет разбужен, обычно посредством уведомления или прерывания, либо пока не истечет заданный промежуток реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать, пока он не будет разбужен, обычно посредством уведомления или прерывания, либо пока не истечет заданный промежуток реального времени.

Подробное описание констант перечисления

NESTMATE

public static final MethodHandles.Lookup.ClassOption NESTMATE
Указывает, что скрытый класс следует добавить к гнезду класса поиска в качестве класса-члена гнезда.

Скрытый класс-член гнезда имеет доступ к закрытым членам всех классов и интерфейсов в том же гнезде.

См. также:
  • Class.getNestHost()

STRONG

public static final MethodHandles.Lookup.ClassOption STRONG
Указывает, что скрытый класс имеет сильную связь с загрузчиком классов, помеченным как его определяющий загрузчик, подобно тому, как обычный класс или интерфейс связан со своим определяющим загрузчиком. Это означает, что скрытый класс может быть выгружен тогда и только тогда, когда его определяющий загрузчик недостижим и, следовательно, может быть освобожден сборщиком мусора (JLS §12.7).

По умолчанию скрытый класс или интерфейс может быть выгружен, даже если загрузчик классов, помеченный как его определяющий загрузчик, достижим.

См. Спецификацию языка Java:
12.7. Выгрузка классов и интерфейсов

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

values

public static MethodHandles.Lookup.ClassOption[] values()
Возвращает массив, содержащий константы этого класса-перечисления в порядке их объявления.
Возвращает:
массив, содержащий константы этого класса-перечисления в порядке их объявления

valueOf

public static MethodHandles.Lookup.ClassOption valueOf(String name)
Возвращает константу перечисления этого класса с указанным именем. Строка должна точно совпадать с идентификатором, использованным для объявления константы перечисления в этом классе. (Пробелы в начале и конце строки не допускаются.)
Параметры:
name — имя возвращаемой константы перечисления.
Возвращает:
константа перечисления с указанным именем
Выбрасывает:
IllegalArgumentException — если в этом классе-перечислении нет константы с указанным именем
NullPointerException — если аргумент равен null

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и рабочие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, 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.

Spec-Zone.ru

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