Класс 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, если переданный тип является оболочкой примитивного типа. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создает и возвращает копию этого объекта. |
boolean |
equals |
Указывает, «равен ли» этот объект другому объекту. |
protected void |
finalize() |
Устарело, планируется удаление: этот элемент API может быть удален в будущей версии. Финализация устарела и может быть удалена в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Заставляет текущий поток ожидать до тех пор, пока он не будет разбужен, обычно посредством уведомления или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать до тех пор, пока он не будет разбужен, обычно посредством уведомления или прерывания, либо пока не истечет заданный промежуток реального времени. |
final void |
wait |
Заставляет текущий поток ожидать до тех пор, пока он не будет разбужен, обычно посредством уведомления или прерывания, либо пока не истечет заданный промежуток реального времени. |
Подробное описание методов
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.