Класс TypeUtilities
java.lang.Object
jdk.dynalink.linker.support.TypeUtilities
public final class TypeUtilities extends Object
Различные статические вспомогательные методы для работы с типами Java.
- Начиная с:
- 9
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static Class |
getPrimitiveType |
Если передан класс, представляющий оболочку примитивного типа, возвращает класс, представляющий соответствующий примитивный тип. |
static Class |
getPrimitiveTypeByName |
По имени примитивного типа возвращает класс, представляющий этот тип. |
static Class |
getWrapperType |
Если передан класс, представляющий примитивный тип, возвращает класс, представляющий соответствующий тип-оболочку. |
static boolean |
isConvertibleWithoutLoss |
Определяет, можно ли преобразовать тип в другой без потери точности. |
static boolean |
isMethodInvocationConvertible |
Определяет, можно ли преобразовать один тип в другой с помощью преобразования при вызове метода согласно JLS 5.3 «Преобразование при вызове метода». |
static boolean |
isSubtype |
Определяет, является ли один тип подтипом другого согласно JLS 4.10 «Отношение подтипов». |
static boolean |
isWrapperType |
Возвращает true, если переданный тип является оболочкой примитивного типа. |
Подробное описание методов
isMethodInvocationConvertible
public static boolean isMethodInvocationConvertible(Class<?> sourceType, Class<?> targetType)
Определяет, можно ли преобразовать один тип в другой с помощью преобразования при вызове метода согласно JLS 5.3 «Преобразование при вызове метода». В основном сюда входят все преобразования, допускаемые отношением подтипов (см.
isSubtype(Class, Class)), а также преобразование с упаковкой (JLS 5.1.7), за которым может следовать расширяющее преобразование ссылочного типа, и преобразование с распаковкой (JLS 5.1.8), за которым может следовать расширяющее преобразование примитивного типа.- Параметры:
-
sourceType— преобразуемый исходный тип (тип точки вызова для типов параметров, тип метода для возвращаемых типов) -
targetType— тип параметра, в который выполняется преобразование (тип метода для типов параметров, тип точки вызова для возвращаемых типов) - Возвращает:
- true, если исходный тип можно преобразовать в целевой тип при вызове метода.
isConvertibleWithoutLoss
public static boolean isConvertibleWithoutLoss(Class<?> sourceType, Class<?> targetType)
Определяет, можно ли преобразовать тип в другой без потери точности. В особом случае void считается преобразуемым только в void и
Object (либо как null, либо как пользовательское значение, заданное в DynamicLinkerFactory.setAutoConversionStrategy(MethodTypeConversionStrategy)). Несколько неожиданно, мы считаем, что любой тип можно преобразовать в void, хотя преобразование в void приводит к окончательной потере данных. С другой стороны, преобразование в void по сути означает, что значение не представляет интереса и его следует отбросить, поэтому нет необходимости сохранять точность.- Параметры:
-
sourceType— исходный тип -
targetType— целевой тип - Возвращает:
- true, если возможно преобразование без потерь
isSubtype
public static boolean isSubtype(Class<?> subType, Class<?> superType)
Определяет, является ли один тип подтипом другого согласно JLS 4.10 «Отношение подтипов». Примечание: здесь рассматривается не строгое или собственное отношение подтипов, поэтому true возвращается и для идентичных типов; точнее говоря, допускается преобразование идентичности (JLS 5.1.1), расширяющее преобразование примитивного типа (JLS 5.1.2) и расширяющее преобразование ссылочного типа (JLS 5.1.5).
- Параметры:
-
subType— предполагаемый подтип -
superType— предполагаемый супертип этого подтипа - Возвращает:
- true, если subType можно преобразовать в superType посредством преобразования идентичности, расширяющего преобразования примитивного типа или расширяющего преобразования ссылочного типа.
getPrimitiveTypeByName
public static Class<?> getPrimitiveTypeByName(String name)
По имени примитивного типа возвращает класс, представляющий этот тип. Например, при вызове с аргументом "int" возвращается
Integer.TYPE.- Параметры:
-
name— имя примитивного типа - Возвращает:
- класс, представляющий примитивный тип, или null, если имя не соответствует примитивному типу.
getPrimitiveType
public static Class<?> getPrimitiveType(Class<?> wrapperType)
Если передан класс, представляющий оболочку примитивного типа, возвращает класс, представляющий соответствующий примитивный тип. Например, при вызове с
Integer.class будет возвращён Integer.TYPE. Если передан класс, не являющийся оболочкой примитивного типа, возвращает null.- Параметры:
-
wrapperType— объект класса, представляющий оболочку примитивного типа. - Возвращает:
- объект класса, представляющий примитивный тип, или null, если переданный класс не является оболочкой примитивного типа.
getWrapperType
public static Class<?> getWrapperType(Class<?> primitiveType)
Если передан класс, представляющий примитивный тип, возвращает класс, представляющий соответствующий тип-оболочку. Например, при вызове с
int.class будет возвращён Integer.class. Если передан класс, не являющийся примитивным типом, возвращает null.- Параметры:
-
primitiveType— объект класса, представляющий примитивный тип - Возвращает:
- объект класса, представляющий тип-оболочку, или null, если переданный класс не является примитивным типом.
isWrapperType
public static boolean isWrapperType(Class<?> type)
Возвращает true, если переданный тип является оболочкой примитивного типа.
- Параметры:
-
type— проверяемый тип - Возвращает:
- true, если переданный тип является оболочкой примитивного типа.
© 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://docs.oracle.com/en/java/javase/25/docs/api/jdk.dynalink/jdk/dynalink/linker/support/TypeUtilities.html