Spec-Zone.ru › OpenJDK 24

Класс MethodType

java.lang.Object
java.lang.invoke.MethodType
Все реализованные интерфейсы:
Serializable, Constable, TypeDescriptor, TypeDescriptor.OfMethod<Class<?>, MethodType>
public final class MethodType extends Object implements Constable, TypeDescriptor.OfMethod<Class<?>, MethodType>, Serializable
Тип метода представляет аргументы и тип возвращаемого значения, принимаемые и возвращаемые обработчиком методов, или аргументы и тип возвращаемого значения, передаваемые и ожидаемые вызывающим обработчиком методов. Типы методов должны быть правильно согласованы между обработчиком методов и всеми его вызывающими сторонами, и операции JVM обеспечивают это соответствие при, конкретно, вызовах MethodHandle.invokeExact и MethodHandle.invoke, а также во время выполнения invokedynamic инструкций.

Структура представляет собой тип возвращаемого значения, сопровождаемый любым количеством типов параметров. Типы (примитивные, void и ссылочные) представлены объектами Class. (Для простоты изложения мы рассматриваем void как тип. На самом деле это обозначает отсутствие типа возвращаемого значения.)

Все экземпляры MethodType являются неизменяемыми. Два экземпляра полностью взаимозаменяемы, если они равны. Равенство зависит от попарного соответствия типов возвращаемого значения и параметров и ни от чего больше.

Этот тип может быть создан только методами-фабриками. Все методы-фабрики могут кэшировать значения, хотя кэширование не гарантируется. Некоторые методы-фабрики являются статическими, в то время как другие являются виртуальными методами, которые изменяют предшествующие типы методов, например, путем изменения выбранного параметра.

Методы-фабрики, которые работают с группами типов параметров, систематически представляются в двух версиях, так что можно использовать как массивы Java, так и списки Java для работы с группами типов параметров. Методы запроса parameterArray и parameterList также предоставляют выбор между массивами и списками.

MethodType объекты иногда выводятся из инструкций байткода, таких как invokedynamic, в частности, из строк описателей типов, связанных с инструкциями в пуле констант файла класса.

Как классы и строки, типы методов также могут быть представлены непосредственно в пуле констант файла класса как константы. Тип метода может быть загружен инструкцией ldc, которая ссылается на соответствующую запись пула констант CONSTANT_MethodType. Запись ссылается на CONSTANT_Utf8 написание для строки-описателя. (Подробные сведения о константах типов методов см. в разделах 4.4.8 и 5.4.3.5 спецификации Java Virtual Machine.)

Когда JVM материализует MethodType из строки-описателя, все классы, указанные в описателе, должны быть доступны и будут загружены. (Но классы не обязательно должны быть инициализированы, как в случае с CONSTANT_Class.) Эта загрузка может произойти в любое время до того, как объект MethodType будет впервые получен.

Именные описатели

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

  • Тип метода имеет nominal descriptor, возвращаемый MethodType::describeConstable.
  • Строка-описатель, возвращаемая MethodType::descriptorString или MethodType::toMethodDescriptorString для типа метода, является описателем метода (JVMS 4.3.3).

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

  • Тип метода не имеет nominal descriptor, и MethodType::describeConstable возвращает пустой необязательный элемент.
  • Строка-описатель, возвращаемая MethodType::descriptorString или MethodType::toMethodDescriptorString для типа метода, не является описателем типа.
С:
1.7
См. также:
  • Сериализованная форма

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

Вложенные классы/интерфейсы, объявленные в интерфейсе java.lang.invoke.TypeDescriptor

TypeDescriptor.OfField<F extends TypeDescriptor.OfField<F>>, TypeDescriptor.OfMethod<F extends TypeDescriptor.OfField<F>, M extends TypeDescriptor.OfMethod<F,M>>

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

Модификатор и тип Метод Описание
MethodType appendParameterTypes(Class<?>... ptypesToInsert)
Находит или создаёт тип метода с дополнительными типами параметров.
MethodType appendParameterTypes(List<Class<?>> ptypesToInsert)
Находит или создаёт тип метода с дополнительными типами параметров.
MethodType changeParameterType(int num, Class<?> nptype)
Находит или создаёт тип метода с единственным отличным типом параметра.
MethodType changeReturnType(Class<?> nrtype)
Находит или создаёт тип метода с другим типом возвращаемого значения.
Optional<MethodTypeDesc> describeConstable()
Возвращает номинальный дескриптор для этого экземпляра, если его можно построить, или пустой Optional, если его нельзя.
String descriptorString()
Возвращает строку-дескриптор для этого типа метода.
MethodType dropParameterTypes(int start, int end)
Находит или создаёт тип метода с некоторыми опущенными типами параметров.
boolean equals(Object x)
Сравнивает указанный объект с этим типом для равенства.
MethodType erase()
Удаляет все типы ссылок на Object.
static MethodType fromMethodDescriptorString(String descriptor, ClassLoader loader)
Находит или создаёт экземпляр типа метода заданного дескриптора метода (JVMS 4.3.3).
MethodType generic()
Преобразует все типы, как ссылки, так и примитивные, в Object.
static MethodType genericMethodType(int objectArgCount)
Находит или создаёт тип метода, компоненты которого все Object.
static MethodType genericMethodType(int objectArgCount, boolean finalArray)
Находит или создаёт тип метода, компоненты которого Object с необязательным заключительным Object[] массивом.
int hashCode()
Возвращает значение хэш-кода для этого типа метода.
boolean hasPrimitives()
Сообщает, содержит ли этот тип примитивный аргумент или возвращаемое значение.
boolean hasWrappers()
Сообщает, содержит ли этот тип обёрнутый аргумент или возвращаемое значение.
MethodType insertParameterTypes(int num, Class<?>... ptypesToInsert)
Находит или создаёт тип метода с дополнительными типами параметров.
MethodType insertParameterTypes(int num, List<Class<?>> ptypesToInsert)
Находит или создаёт тип метода с дополнительными типами параметров.
Class<?> lastParameterType()
Возвращает последний тип параметра этого типа метода.
static MethodType methodType(Class<?> rtype)
Находит или создаёт тип метода с заданными компонентами.
static MethodType methodType(Class<?> rtype, Class<?> ptype0)
Находит или создаёт тип метода с заданными компонентами.
static MethodType methodType(Class<?> rtype, Class<?>[] ptypes)
Находит или создаёт экземпляр заданного типа метода.
static MethodType methodType(Class<?> rtype, Class<?> ptype0, Class<?>... ptypes)
Находит или создаёт тип метода с заданными компонентами.
static MethodType methodType(Class<?> rtype, MethodType ptypes)
Находит или создаёт тип метода с заданными компонентами.
static MethodType methodType(Class<?> rtype, List<Class<?>> ptypes)
Находит или создаёт тип метода с заданными компонентами.
Class<?>[] parameterArray()
Представляет типы параметров как массив (метод для удобства).
int parameterCount()
Возвращает количество типов параметров в этом типе метода.
List<Class<?>> parameterList()
Представляет типы параметров как список (метод для удобства).
Class<?> parameterType(int num)
Возвращает тип параметра по указанному индексу в этом типе метода.
Class<?> returnType()
Возвращает тип возвращаемого значения этого типа метода.
String toMethodDescriptorString()
Возвращает строку-дескриптор для этого типа метода.
String toString()
Возвращает строковое представление типа метода в формате "(PT0,PT1...)RT".
MethodType unwrap()
Преобразует все обернутые типы в соответствующие примитивные типы.
MethodType wrap()
Преобразует все примитивные типы в соответствующие обернутые типы.

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

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

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

methodType

public static MethodType methodType(Class<?> rtype, Class<?>[] ptypes)
Находит или создаёт экземпляр заданного типа метода.
Параметры:
rtype - тип возвращаемого значения
ptypes - типы параметров
Возвращает:
тип метода с заданными компонентами
Исключения:
NullPointerException - если rtype или ptypes или любой элемент ptypes равен null
IllegalArgumentException - если любой элемент ptypes равен void.class

methodType

public static MethodType methodType(Class<?> rtype, List<Class<?>> ptypes)
Находит или создаёт тип метода с заданными компонентами. Удобный метод для methodType.
Параметры:
rtype - тип возвращаемого значения
ptypes - типы параметров
Возвращает:
тип метода с заданными компонентами
Исключения:
NullPointerException - если rtype или ptypes или любой элемент ptypes равен null
IllegalArgumentException - если любой элемент ptypes равен void.class

methodType

public static MethodType methodType(Class<?> rtype, Class<?> ptype0, Class<?>... ptypes)
Находит или создаёт тип метода с заданными компонентами. Удобный метод для methodType. Тип первого параметра добавляется в начало оставшегося массива.
Параметры:
rtype - тип возвращаемого значения
ptype0 - тип первого параметра
ptypes - оставшиеся типы параметров
Возвращает:
тип метода с заданными компонентами
Исключения:
NullPointerException - если rtype или ptype0 или ptypes или любой элемент ptypes равен null
IllegalArgumentException - если ptype0 или ptypes или любой элемент ptypes равен void.class

methodType

public static MethodType methodType(Class<?> rtype)
Находит или создаёт тип метода с заданными компонентами. Удобный метод для methodType. Результирующий метод не имеет типов параметров.
Параметры:
rtype - тип возвращаемого значения
Возвращает:
тип метода с заданным возвращаемым значением
Исключения:
NullPointerException - если rtype равен null

methodType

public static MethodType methodType(Class<?> rtype, Class<?> ptype0)
Находит или создаёт тип метода с заданными компонентами. Удобный метод для methodType. Результирующий метод имеет единственный заданный тип параметра.
Параметры:
rtype - тип возвращаемого значения
ptype0 - тип параметра
Возвращает:
тип метода с заданным возвращаемым значением и типом параметра
Исключения:
NullPointerException - если rtype или ptype0 равны null
IllegalArgumentException - если ptype0 равен void.class

methodType

public static MethodType methodType(Class<?> rtype, MethodType ptypes)
Находит или создаёт тип метода с заданными компонентами. Удобный метод для methodType. Результирующий метод имеет те же типы параметров, что и ptypes, и указанный тип возвращаемого значения.
Параметры:
rtype - тип возвращаемого значения
ptypes - тип метода, предоставляющий типы параметров
Возвращает:
тип метода с заданными компонентами
Исключения:
NullPointerException - если rtype или ptypes равны null

genericMethodType

public static MethodType genericMethodType(int objectArgCount, boolean finalArray)
Находит или создаёт тип метода, компоненты которого являются Object с необязательным заключительным массивом Object[]. Удобный метод для methodType. Все параметры и возвращаемый тип будут Object, за исключением конечного массива параметров, если он есть, который будет Object[].
Параметры:
objectArgCount - количество параметров (исключая конечный массив параметров, если он есть)
finalArray - наличие конечного массива параметров, типа Object[]
Возвращает:
универсальный тип метода, для всех вызовов с заданным фиксированным числом аргументов и собранным массивом дополнительных аргументов
Исключения:
IllegalArgumentException - если objectArgCount отрицательно или больше 255 (или 254, если finalArray истинно)
См. также:
  • genericMethodType(int)

genericMethodType

public static MethodType genericMethodType(int objectArgCount)
Находит или создаёт тип метода, компоненты которого являются все Object. Удобный метод для methodType. Все параметры и возвращаемый тип будут Object.
Параметры:
objectArgCount - количество параметров
Возвращает:
универсальный тип метода, для всех вызовов с заданным числом аргументов
Исключения:
IllegalArgumentException - если objectArgCount отрицательно или больше 255
См. также:
  • genericMethodType(int, boolean)

changeParameterType

public MethodType changeParameterType(int num, Class<?> nptype)
Находит или создаёт тип метода с одним изменённым типом параметра. Удобный метод для methodType.
Определено в:
changeParameterType в интерфейсе TypeDescriptor.OfMethod<Class<?>, MethodType>
Параметры:
num - индекс (от нуля) изменяемого типа параметра
nptype - новый тип параметра, который заменяет старый
Возвращает:
тот же тип, за исключением изменённого параметра
Исключения:
IndexOutOfBoundsException - если num не является допустимым индексом для parameterArray()
IllegalArgumentException - если nptype равен void.class
NullPointerException - если nptype равен null

insertParameterTypes

public MethodType insertParameterTypes(int num, Class<?>... ptypesToInsert)
Находит или создаёт тип метода с дополнительными типами параметров. Удобный метод для methodType.
Определено в:
insertParameterTypes в интерфейсе TypeDescriptor.OfMethod<Class<?>, MethodType>
Параметры:
num - позиция (от нуля) вставляемого типа(ов) параметра
ptypesToInsert - ноль или более новых типов параметров для вставки в список параметров
Возвращает:
тот же тип, за исключением вставленных параметров
Исключения:
IndexOutOfBoundsException - если num отрицательно или больше parameterCount()
IllegalArgumentException - если любой элемент ptypesToInsert равен void.class или если результирующий тип метода будет иметь более 255 слотов параметров
NullPointerException - если ptypesToInsert или любой из его элементов равен null

appendParameterTypes

public MethodType appendParameterTypes(Class<?>... ptypesToInsert)
Находит или создаёт тип метода с дополнительными типами параметров. Удобный метод для methodType.
Параметры:
ptypesToInsert - ноль или более новых типов параметров для вставки после конца списка параметров
Возвращает:
тот же тип, за исключением добавленных параметров
Исключения:
IllegalArgumentException - если любой элемент ptypesToInsert равен void.class или если результирующий тип метода будет иметь более 255 слотов параметров
NullPointerException - если ptypesToInsert или любой из его элементов равен null

insertParameterTypes

public MethodType insertParameterTypes(int num, List<Class<?>> ptypesToInsert)
Находит или создаёт тип метода с дополнительными типами параметров. Удобный метод для methodType.
Parameters:
num — позиция (с нуля) вставляемого типа параметра(ов)
ptypesToInsert — ноль или более новых типов параметров для вставки в список параметров
Returns:
тот же тип, за исключением вставленных параметров
Throws:
IndexOutOfBoundsException — если num отрицательно или больше чем parameterCount()
IllegalArgumentException — если любой элемент ptypesToInsert является void.class или если результирующий тип метода будет иметь более 255 слотов параметров
NullPointerException — если ptypesToInsert или любой из его элементов равен null

appendParameterTypes

public MethodType appendParameterTypes(List<Class<?>> ptypesToInsert)
Находит или создаёт тип метода с дополнительными типами параметров. Удобный метод для methodType.
Parameters:
ptypesToInsert — ноль или более новых типов параметров для вставки после конца списка параметров
Returns:
тот же тип, за исключением добавленных параметров
Throws:
IllegalArgumentException — если любой элемент ptypesToInsert равен void.class или если результирующий тип метода будет иметь более 255 слотов параметров
NullPointerException — если ptypesToInsert или любой из его элементов равен null

dropParameterTypes

public MethodType dropParameterTypes(int start, int end)
Находит или создаёт тип метода с некоторыми опущенными типами параметров. Удобный метод для methodType.
Specified by:
dropParameterTypes в интерфейсе TypeDescriptor.OfMethod<Class<?>, MethodType>
Parameters:
start — индекс (с нуля) первого удаляемого типа параметра
end — индекс (больше чем start) первого типа параметра после которого не удалять
Returns:
тот же тип, за исключением удалённых параметров
Throws:
IndexOutOfBoundsException — если start отрицательно или больше чем parameterCount() или если end отрицательно или больше чем parameterCount() или если start больше чем end

changeReturnType

public MethodType changeReturnType(Class<?> nrtype)
Находит или создаёт тип метода с другим типом возврата. Удобный метод для methodType.
Specified by:
changeReturnType в интерфейсе TypeDescriptor.OfMethod<Class<?>, MethodType>
Parameters:
nrtype — тип возврата, которым нужно заменить старый
Returns:
тот же тип, за исключением изменения типа возврата
Throws:
NullPointerException — если nrtype равен null

hasPrimitives

public boolean hasPrimitives()
Указывает, содержит ли этот тип примитивный аргумент или значение возврата. Тип возврата void считается примитивным.
Returns:
true, если любой из типов — примитивный

hasWrappers

public boolean hasWrappers()
Указывает, содержит ли этот тип обёрнутый аргумент или значение возврата. Обёртки — типы, которые упаковывают примитивные значения, такие как Integer. Ссылочный тип java.lang.Void считается оберткой, если он встречается в качестве типа возврата.
Returns:
true, если любой из типов — обёртка

erase

public MethodType erase()
Удаляет все ссылочные типы до Object. Удобный метод для methodType. Все примитивные типы (включая void) останутся без изменений.
Returns:
версия исходного типа со всеми ссылочными типами, заменёнными

generic

public MethodType generic()
Преобразует все типы, как ссылочные, так и примитивные, в Object. Удобный метод для genericMethodType. Выражение type.wrap().erase() даёт такой же результат, как type.generic().
Returns:
версия исходного типа со всеми типами, заменёнными

wrap

public MethodType wrap()
Преобразует все примитивные типы в соответствующие обёрнутые типы. Удобный метод для methodType. Все ссылочные типы (включая обёрнутые типы) останутся без изменений. Тип возврата void изменяется на тип java.lang.Void. Выражение type.wrap().erase() даёт такой же результат, как type.generic().
Returns:
версия исходного типа со всеми примитивными типами, заменёнными

unwrap

public MethodType unwrap()
Преобразует все обёрнутые типы в соответствующие примитивные типы. Удобный метод для methodType. Все примитивные типы (включая void) останутся без изменений. Тип возврата java.lang.Void изменяется на void.
Returns:
версия исходного типа со всеми обёрнутыми типами, заменёнными

parameterType

public Class<?> parameterType(int num)
Возвращает тип параметра по заданному индексу в этом типе метода.
Specified by:
parameterType в интерфейсе TypeDescriptor.OfMethod<Class<?>, MethodType>
Parameters:
num — индекс (с нуля) требуемого типа параметра
Returns:
выбранный тип параметра
Throws:
IndexOutOfBoundsException — если num не является допустимым индексом в parameterArray()

parameterCount

public int parameterCount()
Возвращает количество типов параметров в этом типе метода.
Specified by:
parameterCount в интерфейсе TypeDescriptor.OfMethod<Class<?>, MethodType>
Returns:
количество типов параметров

returnType

public Class<?> returnType()
Возвращает тип возвращаемого значения этого типа метода.
Specified by:
returnType в интерфейсе TypeDescriptor.OfMethod<Class<?>, MethodType>
Returns:
тип возвращаемого значения

parameterList

public List<Class<?>> parameterList()
Представляет типы параметров в виде списка (удобный метод). Список будет неизменяемым.
Specified by:
parameterList в интерфейсе TypeDescriptor.OfMethod<Class<?>, MethodType>
Returns:
типы параметров (как неизменяемый список)

lastParameterType

public Class<?> lastParameterType()
Возвращает последний тип параметра этого типа метода. Если у этого типа нет параметров, вместо этого возвращается значение-заполнитель void.class.
API Note:

Значение-заполнитель выбрано так, чтобы рефлексивные запросы могли быть выполнены непосредственно к результату. Значение-заполнитель не может быть перепутано с реальным параметром, поскольку void никогда не является типом параметра. Для режимов вызова с переменным числом аргументов полезно выражение lastParameterType().getComponentType() для запроса типа параметра «переменное число аргументов».

Returns:
последний тип параметра, если он есть, иначе void.class
Since:
10

parameterArray

public Class<?>[] parameterArray()
Представляет типы параметров в виде массива (удобный метод). Изменения в массиве не приведут к изменениям в типе.
Specified by:
parameterArray в интерфейсе TypeDescriptor.OfMethod<Class<?>, MethodType>
Returns:
типы параметров (как новая копия, если необходимо)

equals

public boolean equals(Object x)
Сравнивает указанный объект с этим типом на равенство. То есть, он возвращает true тогда и только тогда, когда указанный объект также является типом метода с ровно теми же параметрами и типом возврата.
Overrides:
equals в классе Object
Parameters:
x — объект для сравнения
Returns:
true, если этот объект такой же, как аргумент obj; false в противном случае.
See Also:
  • Object.equals(Object)

hashCode

public int hashCode()
Возвращает значение хэш-кода для этого типа метода. Оно определяется как совпадающее с хэш-кодом списка, элементы которого — тип возвращаемого значения, за которым следуют типы параметров.
Overrides:
hashCode в классе Object
Возвращает:
значение хэш-кода для этого типа метода
См. также:
  • Object.hashCode()
  • equals(Object)
  • List.hashCode()

toString

public String toString()
Возвращает строковое представление типа метода в формате "(PT0,PT1...)RT". Строковое представление типа метода — это заключенный в скобки, разделенный запятыми список имён типов, сразу за которым следует тип возвращаемого значения.

Каждый тип представлен с помощью его simple name.

Overrides:
toString в классе toString
Возвращает:
строковое представление объекта

fromMethodDescriptorString

public static MethodType fromMethodDescriptorString(String descriptor, ClassLoader loader) throws IllegalArgumentException, TypeNotPresentException
Находит или создаёт экземпляр типа метода по заданному описателю метода (JVMS 4.3.3). Этот метод — вспомогательный метод для methodType. Любое имя класса или интерфейса, встроенное в строку описателя, будет разрешено заданным загрузчиком (или, если это null, системным загрузчиком классов).
API Note:
Возможны типы методов, имеющие допустимые описатели, но не могут быть построены этим методом, поскольку их составные типы не видны из общего загрузчика классов.

Этот метод включён для удобства приложений, которым необходимо генерировать байткоды, обрабатывающие дескрипторы методов и invokedynamic.

Параметры:
descriptor — строка описателя метода
loader — загрузчик классов для поиска типов
Возвращает:
тип метода по заданному описателю
Исключения:
NullPointerException — если строка имеет null формат
IllegalArgumentException — если строка не является описателем метода
TypeNotPresentException — если имя типа не найдено
См. Спецификацию виртуальной машины Java:
4.3.3 Описатели методов

toMethodDescriptorString

public String toMethodDescriptorString()
Возвращает строку описателя для этого типа метода. Этот метод эквивалентен вызову MethodType::descriptorString.
API Note:
Это не строго обратное преобразование fromMethodDescriptorString, которое требует описатель типа метода (JVMS 4.3.3) и аргумент загрузчика классов. Два различных MethodType объекта могут иметь идентичную строку описателя, так как разные классы могут иметь одинаковое имя, но разные загрузчики классов.

Этот метод включён для удобства приложений, которым необходимо генерировать байткоды, обрабатывающие дескрипторы методов и invokedynamic.

Возвращает:
строку описателя для этого типа метода
См. Спецификацию виртуальной машины Java:
4.3.3 Описатели методов
См. также:
  • Номинальный описатель для MethodType

descriptorString

public String descriptorString()
Возвращает строку описателя для этого типа метода.

Если для этого типа метода можно создать номинальное описание, то результатом будет описатель типа метода (JVMS 4.3.3). MethodTypeDesc для этого типа метода можно получить, вызвав MethodTypeDesc::ofDescriptor со строкой результирующего описателя.

Если для этого типа метода нельзя создать номинальное описание, и результатом является строка вида:

"(<parameter-descriptors>)<return-descriptor>"
где <parameter-descriptors> — конкатенация строки описателя описателя всех типов параметров и строки описателя описателя типа возвращаемого значения. Из результирующей строки нельзя создать MethodTypeDesc.
Specified by:
descriptorString в интерфейсе TypeDescriptor
Возвращает:
строку описателя для этого типа метода
См. Спецификацию виртуальной машины Java:
4.3.3 Описатели методов
Since:
12
См. также:
  • Номинальный описатель для MethodType

describeConstable

public Optional<MethodTypeDesc> describeConstable()
Возвращает номинальное описание для этого экземпляра, если оно может быть создано, или пустой Optional, если нет.
Specified by:
describeConstable в интерфейсе Constable
Возвращает:
объект Optional, содержащий результирующее номинальное описание, или пустой Optional, если оно не может быть создано.
Since:
12
См. также:
  • Номинальное описание для MethodType

© 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/invoke/MethodType.html

Spec-Zone.ru

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