Spec-Zone.ru › OpenJDK 27

Класс Lookup

java.lang.Object
jdk.dynalink.linker.support.Lookup
public final class Lookup extends Object
Обёртка над MethodHandles.Lookup, маскирующая проверяемые исключения. Она полезна в случаях, когда вы ищете методы в собственной кодовой базе (и поэтому их отсутствие является ошибкой).
Начиная с:
9

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

Модификатор и тип Поле Описание
static final Lookup PUBLIC
Канонический объект Lookup, оборачивающий MethodHandles.publicLookup().

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

Конструктор Описание
Lookup(MethodHandles.Lookup lookup)
Создаёт новый экземпляр, связанный с экземпляром MethodHandles.Lookup.

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

Модификатор и тип Метод Описание
MethodHandle findGetter(Class<?> refc, String name, Class<?> type)
Выполняет MethodHandles.Lookup.findGetter(Class, String, Class), преобразуя любое возникшее IllegalAccessException в IllegalAccessError, а NoSuchFieldException — в NoSuchFieldError.
static MethodHandle findOwnSpecial(MethodHandles.Lookup lookup, String name, Class<?> rtype, Class<?>... ptypes)
Получив объект поиска, находит с помощью findSpecial(Class, String, MethodType) метод в классе этого объекта поиска.
MethodHandle findOwnSpecial(String name, Class<?> rtype, Class<?>... ptypes)
Находит с помощью findSpecial(Class, String, MethodType) метод в классе этого объекта поиска.
static MethodHandle findOwnStatic(MethodHandles.Lookup lookup, String name, Class<?> rtype, Class<?>... ptypes)
Получив объект поиска, находит с помощью findStatic(Class, String, MethodType) метод в классе этого объекта поиска.
MethodHandle findOwnStatic(String name, Class<?> rtype, Class<?>... ptypes)
Находит с помощью findStatic(Class, String, MethodType) метод в классе этого объекта поиска.
MethodHandle findSpecial(Class<?> declaringClass, String name, MethodType type)
Выполняет MethodHandles.Lookup.findSpecial(Class, String, MethodType, Class) для базового объекта поиска.
MethodHandle findStatic(Class<?> declaringClass, String name, MethodType type)
Выполняет MethodHandles.Lookup.findStatic(Class, String, MethodType) для базового объекта поиска.
MethodHandle findVirtual(Class<?> declaringClass, String name, MethodType type)
Выполняет MethodHandles.Lookup.findVirtual(Class, String, MethodType) для базового объекта поиска.
static MethodHandle unreflect(MethodHandles.Lookup lookup, Method m)
Выполняет MethodHandles.Lookup.unreflect(Method), преобразуя любое возникшее IllegalAccessException в IllegalAccessError.
MethodHandle unreflect(Method m)
Выполняет MethodHandles.Lookup.unreflect(Method), преобразуя любое возникшее IllegalAccessException в IllegalAccessError.
static MethodHandle unreflectConstructor(MethodHandles.Lookup lookup, Constructor<?> c)
Выполняет MethodHandles.Lookup.unreflectConstructor(Constructor), преобразуя любое возникшее IllegalAccessException в IllegalAccessError.
MethodHandle unreflectConstructor(Constructor<?> c)
Выполняет MethodHandles.Lookup.unreflectConstructor(Constructor), преобразуя любое возникшее IllegalAccessException в IllegalAccessError.
MethodHandle unreflectGetter(Field f)
Выполняет MethodHandles.Lookup.unreflectGetter(Field), преобразуя любое возникшее IllegalAccessException в IllegalAccessError.
MethodHandle unreflectSetter(Field f)
Выполняет MethodHandles.Lookup.unreflectSetter(Field), преобразуя любое возникшее IllegalAccessException в IllegalAccessError.

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Указывает, равен ли какой-либо другой объект этому объекту.
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(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени.

Подробное описание полей

PUBLIC

public static final Lookup PUBLIC
Канонический объект Lookup, оборачивающий MethodHandles.publicLookup().

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

Lookup

public Lookup(MethodHandles.Lookup lookup)
Создаёт новый экземпляр, связанный с экземпляром MethodHandles.Lookup.
Параметры:
lookup — объект MethodHandles.Lookup, которому делегируются вызовы.

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

unreflect

public MethodHandle unreflect(Method m)
Выполняет MethodHandles.Lookup.unreflect(Method), преобразуя любое возникшее IllegalAccessException в IllegalAccessError.
Параметры:
m — метод, для которого нужно получить дескриптор без отражения
Возвращает:
дескриптор метода, полученный без отражения.
Вызывает:
IllegalAccessError — если метод недоступен.

unreflect

public static MethodHandle unreflect(MethodHandles.Lookup lookup, Method m)
Выполняет MethodHandles.Lookup.unreflect(Method), преобразуя любое возникшее IllegalAccessException в IllegalAccessError.
Параметры:
lookup — объект поиска, используемый для получения дескриптора без отражения
m — метод, для которого нужно получить дескриптор без отражения
Возвращает:
дескриптор метода, полученный без отражения.
Вызывает:
IllegalAccessError — если метод недоступен.

unreflectGetter

public MethodHandle unreflectGetter(Field f)
Выполняет MethodHandles.Lookup.unreflectGetter(Field), преобразуя любое возникшее IllegalAccessException в IllegalAccessError.
Параметры:
f — поле, для которого получается дескриптор метода чтения без отражения
Возвращает:
дескриптор метода чтения поля, полученный без отражения.
Вызывает:
IllegalAccessError — если метод чтения недоступен.

findGetter

public MethodHandle findGetter(Class<?> refc, String name, Class<?> type)
Выполняет MethodHandles.Lookup.findGetter(Class, String, Class), преобразуя любое возникшее IllegalAccessException в IllegalAccessError, а NoSuchFieldException — в NoSuchFieldError.
Параметры:
refc — класс, объявляющий поле
name — имя поля
type — тип поля
Возвращает:
дескриптор метода чтения поля, полученный без отражения.
Вызывает:
IllegalAccessError — если поле недоступно.
NoSuchFieldError — если поле не существует.

unreflectSetter

public MethodHandle unreflectSetter(Field f)
Выполняет MethodHandles.Lookup.unreflectSetter(Field), преобразуя любое возникшее IllegalAccessException в IllegalAccessError.
Параметры:
f — поле, для которого получается дескриптор метода записи без отражения
Возвращает:
дескриптор метода записи поля, полученный без отражения.
Вызывает:
IllegalAccessError — если поле недоступно.
NoSuchFieldError — если поле не существует.

unreflectConstructor

public MethodHandle unreflectConstructor(Constructor<?> c)
Выполняет MethodHandles.Lookup.unreflectConstructor(Constructor), преобразуя любое возникшее IllegalAccessException в IllegalAccessError.
Параметры:
c — конструктор, для которого нужно получить дескриптор без отражения
Возвращает:
дескриптор конструктора, полученный без отражения.
Вызывает:
IllegalAccessError — если конструктор недоступен.

unreflectConstructor

public static MethodHandle unreflectConstructor(MethodHandles.Lookup lookup, Constructor<?> c)
Выполняет MethodHandles.Lookup.unreflectConstructor(Constructor), преобразуя любое возникшее IllegalAccessException в IllegalAccessError.
Параметры:
lookup — объект поиска, используемый для получения дескриптора без отражения
c — конструктор, для которого нужно получить дескриптор без отражения
Возвращает:
дескриптор конструктора, полученный без отражения.
Вызывает:
IllegalAccessError — если конструктор недоступен.

findSpecial

public MethodHandle findSpecial(Class<?> declaringClass, String name, MethodType type)
Выполняет MethodHandles.Lookup.findSpecial(Class, String, MethodType, Class) для базового объекта поиска. Преобразует любое возникшее IllegalAccessException в IllegalAccessError, а NoSuchMethodException — в NoSuchMethodError.
Параметры:
declaringClass — класс, объявляющий метод
name — имя метода
type — тип метода
Возвращает:
дескриптор метода
Вызывает:
IllegalAccessError — если метод недоступен.
NoSuchMethodError — если метод не существует.

findStatic

public MethodHandle findStatic(Class<?> declaringClass, String name, MethodType type)
Выполняет MethodHandles.Lookup.findStatic(Class, String, MethodType) для базового объекта поиска. Преобразует любое возникшее IllegalAccessException в IllegalAccessError, а NoSuchMethodException — в NoSuchMethodError.
Параметры:
declaringClass — класс, объявляющий метод
name — имя метода
type — тип метода
Возвращает:
дескриптор метода
Вызывает:
IllegalAccessError — если метод недоступен.
NoSuchMethodError — если метод не существует.

findVirtual

public MethodHandle findVirtual(Class<?> declaringClass, String name, MethodType type)
Выполняет MethodHandles.Lookup.findVirtual(Class, String, MethodType) для базового объекта поиска. Преобразует любое возникшее IllegalAccessException в IllegalAccessError, а NoSuchMethodException — в NoSuchMethodError.
Параметры:
declaringClass — класс, объявляющий метод
name — имя метода
type — тип метода
Возвращает:
дескриптор метода
Вызывает:
IllegalAccessError — если метод недоступен.
NoSuchMethodError — если метод не существует.

findOwnSpecial

public static MethodHandle findOwnSpecial(MethodHandles.Lookup lookup, String name, Class<?> rtype, Class<?>... ptypes)
Получив объект поиска, находит с помощью findSpecial(Class, String, MethodType) метод в классе этого объекта поиска. Полезно в коде классов для удобного связывания с собственными приватными методами.
Параметры:
lookup — объект поиска для класса
name — имя метода
rtype — тип возвращаемого значения метода
ptypes — типы параметров метода
Возвращает:
дескриптор метода

findOwnSpecial

public MethodHandle findOwnSpecial(String name, Class<?> rtype, Class<?>... ptypes)
Находит с помощью findSpecial(Class, String, MethodType) метод в классе этого объекта поиска. Полезно в коде классов для удобного связывания с собственными приватными методами. Кроме того, этот способ удобнее, чем findSpecial: достаточно перечислить типы параметров, не указывая класс поиска.
Параметры:
name — имя метода
rtype — тип возвращаемого значения метода
ptypes — типы параметров метода
Возвращает:
дескриптор метода

findOwnStatic

public static MethodHandle findOwnStatic(MethodHandles.Lookup lookup, String name, Class<?> rtype, Class<?>... ptypes)
Получив объект поиска, находит с помощью findStatic(Class, String, MethodType) метод в классе этого объекта поиска. Полезно в коде классов для удобного связывания с собственными приватными методами. Этот способ удобнее, чем findStatic: достаточно перечислить типы параметров, не указывая класс поиска.
Параметры:
lookup — объект поиска для класса
name — имя метода
rtype — тип возвращаемого значения метода
ptypes — типы параметров метода
Возвращает:
дескриптор метода

findOwnStatic

public MethodHandle findOwnStatic(String name, Class<?> rtype, Class<?>... ptypes)
Находит с помощью findStatic(Class, String, MethodType) метод в классе этого объекта поиска. Полезно в коде классов для удобного связывания с собственными приватными методами. Этот способ удобнее, чем findStatic: достаточно перечислить типы параметров, не указывая класс поиска.
Параметры:
name — имя метода
rtype — тип возвращаемого значения метода
ptypes — типы параметров метода
Возвращает:
дескриптор метода

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по 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