インターフェース Types


  • public interface Types
    のファクトリ。void 疑似型、プリミティブ型、クラス型、配列型、パラメーター化された型、ワイルドカード型の表現を作成できます。
    導入:
    4.0
    • メソッドの詳細

      • of

        Type of​(ClassSE<?> clazz)
        指定されたクラスリテラルから型を返します。例:
        • of(void.class): ofVoid() と同じ
        • of(int.class): ofPrimitive(PrimitiveKind.INT) と同じ
        • of(String.class): ofClass(... ClassInfo for String...) と同じ
        • of(int[].class): ofArray(ofPrimitive(PrimitiveKind.INT), 1) と同じ
        • of(String[][].class)ofArray(ofClass(... ClassInfo for String...), 2) と同じ
        パラメーター:
        clazz - クラスリテラル。null であってはなりません
        戻り値:
        指定されたクラスリテラルを表す Type オブジェクト
      • ofClass

        ClassType ofClass​(StringSE name)
        The Java ™ Language Specification で定義されているように、指定されたバイナリ名の ClassType を返します。つまり、Class.getName() によって返されるクラス名です。

        このメソッドは ClassType を返すため、name はクラスの名前にすぎないことに注意してください。プリミティブの場合、ofPrimitive(PrimitiveType.PrimitiveKind) を使用します。配列の場合、ofArray(Type, int) を使用します。

        パラメーター:
        name - クラスのバイナリ名。null であってはなりません
        戻り値:
        クラスがどの Bean アーカイブにも存在しない場合は、ClassType または null 
      • ofArray

        ArrayType ofArray​(Type elementType,
                          int dimensions)
        指定された要素型と次元数の ArrayType を返します。

        ArrayTypeコンポーネント型表現を使用しますが、このメソッドは配列の要素型を受け入れることに注意してください。例: String[][] のコンポーネント型は String[] ですが、要素型は String です。

        パラメーター:
        elementType - エレメント Typenull であってはなりません
        dimensions - 次元数
        戻り値:
        ArrayType、決して null
        例外:
        IllegalArgumentExceptionSE - 要素の型が配列型、ワイルドカード型、void 疑似型の場合
      • parameterized

        ParameterizedType parameterized​(ClassSE<?> genericType,
                                        ClassSE<?>... typeArguments)
        指定されたジェネリクス型と型引数の ParameterizedType を返します。型引数の配列は、ジェネリクス型の型パラメーターのリストと同じ形状でなければなりません。
        パラメーター:
        genericType - パラメーター化する型。null であってはなりません
        typeArguments - 1 つ以上の型引数
        戻り値:
        パラメーター化された型で、決して null ではありません
        例外:
        IllegalArgumentExceptionSE - 指定された genericType がジェネリクスでない場合、または型引数の数が genericType によって宣言された型パラメーターの数と一致しない場合
      • parameterized

        ParameterizedType parameterized​(ClassSE<?> genericType,
                                        Type... typeArguments)
        指定されたジェネリクス型と型引数の ParameterizedType を返します。型引数の配列は、ジェネリクス型の型パラメーターのリストと同じ形状でなければなりません。
        パラメーター:
        genericType - パラメーター化する型。null であってはなりません
        typeArguments - 1 つ以上の型引数
        戻り値:
        パラメーター化された型で、決して null ではありません
        例外:
        IllegalArgumentExceptionSE - 指定された genericType がジェネリクスでない場合、または型引数の数が genericType によって宣言された型パラメーターの数と一致しない場合
      • parameterized

        ParameterizedType parameterized​(ClassType genericType,
                                        Type... typeArguments)
        指定されたジェネリクス型と型引数の ParameterizedType を返します。型引数の配列は、ジェネリクス型の型パラメーターのリストと同じ形状でなければなりません。
        パラメーター:
        genericType - パラメーター化する型。null であってはなりません
        typeArguments - 1 つ以上の型引数
        戻り値:
        パラメーター化された型で、決して null ではありません
        例外:
        IllegalArgumentExceptionSE - 指定された genericType がジェネリクスでない場合、または型引数の数が genericType によって宣言された型パラメーターの数と一致しない場合
      • wildcardWithUpperBound

        WildcardType wildcardWithUpperBound​(Type upperBound)
        ? extends upperBound と同等のものを表す WildcardType を返します。upperBound が java.lang.Object 型を表す場合、結果は wildcardUnbounded() と同等であることに注意してください。
        パラメーター:
        upperBound - 上限型。null であってはなりません
        戻り値:
        指定された上限を持つワイルドカード型を表す WildcardType オブジェクト
      • wildcardWithLowerBound

        WildcardType wildcardWithLowerBound​(Type lowerBound)
        ? super lowerBound と同等のものを表す WildcardType を返します。
        パラメーター:
        lowerBound - 下限型、null であってはなりません
        戻り値:
        指定された上限を持つワイルドカード型を表す WildcardType オブジェクト
      • wildcardUnbounded

        WildcardType wildcardUnbounded()
        ? と同等のものを表す WildcardType を返します。
        戻り値:
        無制限のワイルドカード型を表す WildcardType オブジェクト