Интерфейс MethodTypeDesc
- Все суперинтерфейсы:
-
ConstantDesc,TypeDescriptor,TypeDescriptor.OfMethod<ClassDesc, MethodTypeDesc>
public sealed interface MethodTypeDesc extends ConstantDesc, TypeDescriptor.OfMethod<ClassDesc, MethodTypeDesc>
A номинальный дескриптор для MethodType константы.
- С:
- 12
Краткое описание вложенных классов
Вложенные классы/интерфейсы, объявленные в интерфейсе java.lang.invoke.TypeDescriptor
TypeDescriptor.OfField<F extends TypeDescriptor.OfField<F>>, TypeDescriptor.OfMethod<F extends TypeDescriptor.OfField<F>, M extends TypeDescriptor.OfMethod<F, M>>
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
MethodTypeDesc |
changeParameterType |
Возвращает MethodTypeDesc, идентичный этому, за исключением того, что тип одного параметра изменён на указанный. |
MethodTypeDesc |
changeReturnType |
Возвращает MethodTypeDesc, идентичный этому, за исключением указанного возвращаемого типа. |
String |
descriptorString() |
Возвращает строку-дескриптор типа метода. |
default String |
displayDescriptor() |
Возвращает удобочитаемый дескриптор данного типа метода, используя канонические имена параметров и возвращаемого типа. |
MethodTypeDesc |
dropParameterTypes |
Возвращает MethodTypeDesc, идентичный этому, за исключением удалённого диапазона типов параметров. |
boolean |
equals |
Сравнивает указанный объект с этим дескриптором на равенство. |
MethodTypeDesc |
insertParameterTypes |
Возвращает MethodTypeDesc, идентичный этому, за исключением вставленного диапазона дополнительных типов параметров. |
static MethodTypeDesc |
of |
Возвращает MethodTypeDesc с заданным возвращаемым типом и без типов параметров. |
static MethodTypeDesc |
of |
Возвращает MethodTypeDesc с заданным возвращаемым типом и типами параметров. |
static MethodTypeDesc |
of |
Возвращает MethodTypeDesc с заданным возвращаемым типом и списком типов параметров. |
static MethodTypeDesc |
ofDescriptor |
Создаёт MethodTypeDesc по строке-дескриптору метода. |
ClassDesc[] |
parameterArray() |
Возвращает типы параметров в виде массива. |
int |
parameterCount() |
Возвращает количество параметров типа метода, описанного данным MethodTypeDesc. |
List |
parameterList() |
Возвращает типы параметров как неизменяемый List. |
ClassDesc |
parameterType |
Возвращает тип параметра index-го параметра типа метода, описанного этим MethodTypeDesc. |
MethodType |
resolveConstantDesc |
|
ClassDesc |
returnType() |
Получает возвращаемый тип типа метода, описанного данным MethodTypeDesc. |
Подробное описание методов
ofDescriptor
static MethodTypeDesc ofDescriptor(String descriptor)
Создаёт MethodTypeDesc по строке описания метода.
- Параметры:
-
descriptor- строка описания метода - Возвращает:
- MethodTypeDesc, описывающий требуемый тип метода
- Исключения:
-
NullPointerException- если аргумент являетсяnull -
IllegalArgumentException- если строка описания не является корректной строкой описания метода - См. Спецификацию Java Virtual Machine:
- 4.3.3 Описания методов
of
static MethodTypeDesc of(ClassDesc returnDesc)
Возвращает MethodTypeDesc с заданным типом возвращаемого значения и без параметров.
- Параметры:
-
returnDesc- ClassDesc, описывающий тип возвращаемого значения - Возвращает:
- MethodTypeDesc с заданным типом возвращаемого значения и без параметров
- Исключения:
-
NullPointerException- еслиreturnDescявляетсяnull - С:
- 21
of
static MethodTypeDesc of(ClassDesc returnDesc, List<ClassDesc> paramDescs)
Возвращает MethodTypeDesc по заданному типу возвращаемого значения и списку типов параметров.
- Параметры:
-
returnDesc- ClassDesc, описывающий тип возвращаемого значения -
paramDescs- Список ClassDescов, описывающих типы параметров - Возвращает:
- MethodTypeDesc по заданному типу возвращаемого значения и списку типов параметров
- Исключения:
-
NullPointerException- если любой аргумент или его содержимое являетсяnull -
IllegalArgumentException- если любой элементparamDescsявляетсяClassDescдляvoid - С:
- 21
of
static MethodTypeDesc of(ClassDesc returnDesc, ClassDesc... paramDescs)
Возвращает MethodTypeDesc по заданному типу возвращаемого значения и типам параметров.
- Параметры:
-
returnDesc- ClassDesc, описывающий тип возвращаемого значения -
paramDescs- ClassDescы, описывающие типы аргументов - Возвращает:
- MethodTypeDesc, описывающий требуемый тип метода
- Исключения:
-
NullPointerException- если любой аргумент или его содержимое являетсяnull -
IllegalArgumentException- если любой элементparamDescsявляетсяClassDescдляvoid
returnType
ClassDesc returnType()
Получает тип возвращаемого значения метода, описываемого этим MethodTypeDesc.
- Определено в:
-
returnTypeв интерфейсеTypeDescriptor.OfMethod<ClassDesc, MethodTypeDesc> - Возвращает:
ClassDesc, описывающий тип возвращаемого значения метода
parameterCount
int parameterCount()
Возвращает количество параметров типа метода, описанного этим MethodTypeDesc.
- Определено в:
-
parameterCountв интерфейсеTypeDescriptor.OfMethod<ClassDesc, MethodTypeDesc> - Возвращает:
- количество параметров
parameterType
ClassDesc parameterType(int index)
Возвращает тип
index-го параметра типа метода, описанного этим MethodTypeDesc.- Определено в:
-
parameterTypeв интерфейсеTypeDescriptor.OfMethod<ClassDesc, MethodTypeDesc> - Параметры:
-
index- индекс параметра для извлечения - Возвращает:
ClassDesc, описывающий требуемый тип параметра- Исключения:
-
IndexOutOfBoundsException- если индекс выходит за границы[0, parameterCount())
parameterList
List<ClassDesc> parameterList()
Возвращает типы параметров как неизменяемый
List.- Определено в:
-
parameterListв интерфейсеTypeDescriptor.OfMethod<ClassDesc, MethodTypeDesc> - Возвращает:
ListизClassDesc, описывающих типы параметров
parameterArray
ClassDesc[] parameterArray()
Возвращает типы параметров в виде массива.
- Определено в:
-
parameterArrayв интерфейсеTypeDescriptor.OfMethod<ClassDesc, MethodTypeDesc> - Возвращает:
- массив из
ClassDesc, описывающих типы параметров
changeReturnType
MethodTypeDesc changeReturnType(ClassDesc returnType)
Возвращает MethodTypeDesc, идентичный этому, но с указанным типом возвращаемого значения.
- Определено в:
-
changeReturnTypeв интерфейсеTypeDescriptor.OfMethod<ClassDesc, MethodTypeDesc> - Параметры:
-
returnType-ClassDesc, описывающий новый тип возвращаемого значения - Возвращает:
- MethodTypeDesc, описывающий требуемый тип метода
- Исключения:
-
NullPointerException- если аргумент являетсяnull
changeParameterType
MethodTypeDesc changeParameterType(int index, ClassDesc paramType)
Возвращает MethodTypeDesc, идентичный этому, но с изменением типа одного параметра на указанный.
- Определено в:
-
changeParameterTypeв интерфейсеTypeDescriptor.OfMethod<ClassDesc, MethodTypeDesc> - Параметры:
-
index- индекс параметра для изменения -
paramType-ClassDesc, описывающий новый тип параметра - Возвращает:
- MethodTypeDesc, описывающий требуемый тип метода
- Исключения:
-
NullPointerException- если любой аргумент являетсяnull -
IndexOutOfBoundsException- если индекс выходит за границы[0, parameterCount)
dropParameterTypes
MethodTypeDesc dropParameterTypes(int start, int end)
Возвращает MethodTypeDesc, идентичный этому, но с удалением диапазона типов параметров.
- Определено в:
-
dropParameterTypesв интерфейсеTypeDescriptor.OfMethod<ClassDesc, MethodTypeDesc> - Параметры:
-
start- индекс первого параметра для удаления -
end- индекс после последнего параметра для удаления - Возвращает:
- MethodTypeDesc, описывающий требуемый тип метода
- Исключения:
-
IndexOutOfBoundsException- еслиstartвыходит за границы[0, parameterCount), илиendвыходит за границы[0, parameterCount], или еслиstart > end
insertParameterTypes
MethodTypeDesc insertParameterTypes(int pos, ClassDesc... paramTypes)
Возвращает MethodTypeDesc, идентичный этому, за исключением вставки диапазона дополнительных типов параметров.
- Указано в:
-
insertParameterTypesв интерфейсеTypeDescriptor.OfMethod<ClassDesc, MethodTypeDesc> - Параметры:
-
pos- индекс, на котором следует вставить первый вставляемый параметр -
paramTypes-ClassDescописывающие новые типы параметров для вставки - Возвращает:
- MethodTypeDesc описывающий желаемый тип метода
- Выбрасывает:
-
NullPointerException- если какой-либо аргумент или его содержимоеnull -
IndexOutOfBoundsException- еслиposнаходится вне закрытого диапазона[0, parameterCount] -
IllegalArgumentException- если любой элементparamTypesявляетсяClassDescдляvoid
descriptorString
String descriptorString()
Возвращает строку-описание типа метода.
- Указано в:
-
descriptorStringв интерфейсеTypeDescriptor - Возвращает:
- строку-описание типа метода
- См. Спецификацию виртуальной машины Java:
- 4.3.3 Описания методов
displayDescriptor
default String displayDescriptor()
Возвращает удобочитаемое описание этого типа метода, используя канонические имена для типов параметров и возвращаемого значения.
- Возвращает:
- удобочитаемое описание этого типа метода
resolveConstantDesc
MethodType resolveConstantDesc(MethodHandles.Lookup lookup) throws ReflectiveOperationException
Разрешает это описание рефлексивно, эмулируя поведение разрешения JVMS 5.4.3 и поведение управления доступом JVMS 5.4.4. Контекст разрешения и управления доступом предоставляется параметром
MethodHandles.Lookup. Кэширование полученного значения не выполняется.- Указано в:
-
resolveConstantDescв интерфейсеConstantDesc - Примечание API:
- MethodTypeDesc может представлять описания типов методов, не представимые с помощью MethodType, такие как методы с более чем 255 слотами параметров, поэтому попытки разрешить их могут привести к ошибкам.
- Параметры:
-
lookup-MethodHandles.Lookupдля предоставления контекста разрешения имен и управления доступом - Возвращает:
- разрешенное значение константы
- Выбрасывает:
-
ReflectiveOperationException- если класс, метод или поле не удалось рефлексивно разрешить в ходе разрешения - С:
- 21
equals
boolean equals(Object o)
Сравнивает указанный объект с этим описанием на предмет равенства. Возвращает
true тогда и только тогда, когда указанный объект также является MethodTypeDesc оба имеют одинаковую арность, их типы возвращаемого значения равны, и каждая пара соответствующих типов параметров равны.
© 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/constant/MethodTypeDesc.html