モジュール jdk.dynalink

クラスTypeUtilities

java.lang.Object
jdk.dynalink.linker.support.TypeUtilities

public final class TypeUtilities extends Object
Java型を操作するための様々な静的ユーティリティ・メソッド。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    static Class<?>
    getPrimitiveType(Class<?> wrapperType)
    プリミティブ型のラッパーを表すクラスを渡すと、対応するプリミティブ型を表すクラスが返されます。
    static Class<?>
    プリミティブ型の名前を指定すると、その型を表すクラスが返されます。
    static Class<?>
    getWrapperType(Class<?> primitiveType)
    プリミティブ型を表すクラスを渡すと、対応するラッパー型を表すクラスが返されます。
    static boolean
    isConvertibleWithoutLoss(Class<?> sourceType, Class<?> targetType)
    精度を失うことなく、型を別の型に変換できるかどうかを決定します。
    static boolean
    isMethodInvocationConvertible(Class<?> sourceType, Class<?> targetType)
    JLS 5.3 "メソッド起動変換"に従って、ある型をメソッド呼出し変換を使用して別の型に変換できるかどうかを決定します。
    static boolean
    isSubtype(Class<?> subType, Class<?> superType)
    JLS 4.10 "サブ型"に従って、ある型が別の型のサブタイプであるかどうかを決定します。
    static boolean
    渡された型がプリミティブ型のラッパーである場合にtrueを返します。

    クラスjava.lang.Objectで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, 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 - 想定されるサブ型のスーパー型
      戻り値:
      アイデンティティ変換、プリミティブ変換の拡大、またはsuperTypeへの参照変換の拡大によってsubTypeを変換できる場合はtrue。
    • 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。