モジュール java.compiler
パッケージ javax.lang.model.util

インタフェースの型


public interface Types
型で操作を行うためのユーティリティ・メソッドです。

互換性に関するノート: プラットフォームの将来のリリースでは、このインタフェースにメソッドが追加される可能性があります。

導入されたバージョン:
1.6
関連項目:
ProcessingEnvironment.getTypeUtils()
  • メソッドの詳細

    • asElement

      Element asElement(TypeMirror t)
      型に対応する要素を返します。 型はDeclaredTypeTypeVariableのいずれかです。 型が対応する要素を持たない場合はnullを返します。
      パラメータ:
      t - 要素にマップする型
      戻り値:
      指定された型に対応する要素
    • isSameType

      boolean isSameType(TypeMirror t1, TypeMirror t2)
      2つのTypeMirrorオブジェクトが同じ型を表すかどうかをテストします。

      注意: このメソッドに渡される引数のいずれかがワイルドカードを表している場合、このメソッドはfalseを返します。 そのため、ワイルドカードは自身と同じ型ではありません。 これは一見驚くべきことですが、次のような例はコンパイラに拒否されることから理解できるはずです。

         List<?> list = new ArrayList<Object>();
         list.add(list.get(0));
       

      注釈は型に関連付けられたメタデータにすぎないため、2つの TypeMirrorオブジェクトが同じ型かどうかを計算するときに、どちらの引数の注釈セットも考慮されません 具体的には、2つのTypeMirrorオブジェクトは異なる注釈を持っていても同じと見なされる可能性があります。

      パラメータ:
      t1 - 1番目の型
      t2 - 2番目の型
      戻り値:
      2つの型が同じ場合に限りtrue
    • isSubtype

      boolean isSubtype(TypeMirror t1, TypeMirror t2)
      ある型が別の型のサブタイプであるかどうかをテストします。 型はそれ自体のサブタイプであるとみなされます。
      パラメータ:
      t1 - 1番目の型
      t2 - 2番目の型
      戻り値:
      最初の型が2番目の型のサブタイプである場合に限りtrue
      例外:
      IllegalArgumentException - 実行可能ファイル、パッケージ、またはモジュールの型が指定されている場合
      Java言語仕様を参照してください:
      4.10 サブ型
    • isAssignable

      boolean isAssignable(TypeMirror t1, TypeMirror t2)
      ある型を別の型に代入できるかどうかをテストします。
      パラメータ:
      t1 - 1番目の型
      t2 - 2番目の型
      戻り値:
      最初の型が2番目の型に代入可能である場合に限りtrue
      例外:
      IllegalArgumentException - 実行可能ファイル、パッケージ、またはモジュールの型が指定されている場合
      Java言語仕様を参照してください:
      5.2 割当てコンテキスト
    • contains

      boolean contains(TypeMirror t1, TypeMirror t2)
      ある型引数を別の型に包含できるかどうかをテストします。
      パラメータ:
      t1 - 1番目の型
      t2 - 2番目の型
      戻り値:
      先頭の型が2番目の型を包含している場合に限りtrue
      例外:
      IllegalArgumentException - 実行可能ファイル、パッケージ、またはモジュールの型が指定されている場合
      Java言語仕様を参照してください:
      4.5.1 パラメータ化された型の型引数
    • isSubsignature

      boolean isSubsignature(ExecutableType m1, ExecutableType m2)
      あるメソッドのシグネチャが別のメソッドのサブシグネチャであるかどうかをテストします。
      パラメータ:
      m1 - 最初のメソッド
      m2 - 2番目のメソッド
      戻り値:
      最初のシグネチャが2番目のシグネチャのサブシグネチャである場合に限りtrue
      Java言語仕様を参照してください:
      8.4.2 メソッド・シグネチャ
    • directSupertypes

      List<? extends TypeMirror> directSupertypes(TypeMirror t)
      型の直接のスーパー・タイプを返します。 インタフェース型が存在する場合、そのインタフェース型がリストの最後に現れます。 直接スーパー・インタフェースのないインタフェース型では、java.lang.Objectを表す型ミラーが返されます。
      パラメータ:
      t - 調べる対象の型
      戻り値:
      直接のスーパー・タイプ。存在しない場合は空のリスト
      例外:
      IllegalArgumentException - 実行可能ファイル、パッケージ、またはモジュールの型が指定されている場合
      Java言語仕様を参照してください:
      4.10 サブ型
    • erasure

      TypeMirror erasure(TypeMirror t)
      型の消去を返します。
      パラメータ:
      t - 消去される型
      戻り値:
      型の消去
      例外:
      IllegalArgumentException - パッケージまたはモジュールの型が指定されている場合
      Java言語仕様を参照してください:
      4.6 型の消去
    • boxedClass

      TypeElement boxedClass(PrimitiveType p)
      プリミティブ型引数のボックス値のクラスを返します。 つまり、ボクシング変換が適用されます。
      パラメータ:
      p - 変換されるプリミティブ型
      戻り値:
      プリミティブ型引数のボックス値のクラス
      Java言語仕様を参照してください:
      5.1.7 ボクシング変換
    • unboxedType

      PrimitiveType unboxedType(TypeMirror t)
      指定された型のアンボクシングされた値の型(プリミティブ型)を返します。 つまり、アンボクシング変換が適用されます。
      パラメータ:
      t - アンボクシングされる型
      戻り値:
      tのアンボクシングされた値の型
      例外:
      IllegalArgumentException - 指定された型がアンボクシング変換を持たない場合
      Java言語仕様を参照してください:
      5.1.8 アンボクシング変換
    • capture

      TypeMirror capture(TypeMirror t)
      型に取得変換を適用します。
      パラメータ:
      t - 変換される型
      戻り値:
      取得変換の適用結果
      例外:
      IllegalArgumentException - 実行可能ファイル、パッケージ、またはモジュールの型が指定されている場合
      Java言語仕様を参照してください:
      5.1.10 取得変換
    • getPrimitiveType

      PrimitiveType getPrimitiveType(TypeKind kind)
      プリミティブ型を返します。
      パラメータ:
      kind - 返すプリミティブ型の種類
      戻り値:
      プリミティブ型
      例外:
      IllegalArgumentException - kindがプリミティブ型でない場合
    • getNullType

      NullType getNullType()
      null型を返します。 これは、nullの型です。
      戻り値:
      null型
    • getNoType

      NoType getNoType(TypeKind kind)
      適切な実際の型が存在しない場合に使用される擬似型を返します。 返される型の種類は、VOIDNONEのいずれかです。

      パッケージまたはモジュールに対応する擬似型を取得するには、packageまたはmoduleをモデリングする要素でasType()を呼び出します。 名前は、それぞれElements.getPackageElement(CharSequence)またはElements.getModuleElement(CharSequence)を使用して、パッケージまたはモジュールの要素に変換できます。

      パラメータ:
      kind - 返される型の種類
      戻り値:
      種類VOIDまたはNONEの擬似型。
      例外:
      IllegalArgumentException - kindが有効でない場合
    • getArrayType

      ArrayType getArrayType(TypeMirror componentType)
      指定されたコンポーネント型とともに配列型を返します。
      パラメータ:
      componentType - コンポーネント型
      戻り値:
      指定されたコンポーネント型を含む配列型
      例外:
      IllegalArgumentException - コンポーネント型が配列に対して有効でない場合
    • getWildcardType

      WildcardType getWildcardType(TypeMirror extendsBound, TypeMirror superBound)
      新しいワイルドカード・タイプを返します。 ワイルドカードの境界のどちらかを指定することも、両方とも指定しないこともできますが、両方を指定することはできません。
      パラメータ:
      extendsBound - extends境界(上限)。存在しない場合はnull
      superBound - super境界(下限)。存在しない場合はnull
      戻り値:
      新しいワイルドカード・タイプ
      例外:
      IllegalArgumentException - 境界が有効でない場合
    • getDeclaredType

      DeclaredType getDeclaredType(TypeElement typeElem, TypeMirror... typeArgs)
      型要素と実際の型引数に対応する型を返します。 たとえば、Setの型要素とStringの型ミラーが指定されている場合、このメソッドを使用すると、パラメータ化された型Set<String>を取得できます。

      型引数の数は、型要素の形式型パラメータの数に等しいか、ゼロである必要があります。 ゼロの場合および型要素がジェネリックの場合は、型要素の生の型が返されます。

      パラメータ化された型が返される場合、型要素はジェネリック外部クラス内に含まれません。 たとえば、パラメータ化された型Outer<String>.Inner<Number>は、最初にこのメソッドを使用して型Outer<String>を取得し、次にgetDeclaredType(DeclaredType, TypeElement, TypeMirror...)を呼び出すことによって構築できます。

      パラメータ:
      typeElem - 型要素
      typeArgs - 実際の型引数
      戻り値:
      型要素および実際の型引数に対応する型
      例外:
      IllegalArgumentException - 指定された型引数が多すぎるか少なすぎる場合、あるいは不適切な型引数または型要素が提供された場合
    • getDeclaredType

      DeclaredType getDeclaredType(DeclaredType containing, TypeElement typeElem, TypeMirror... typeArgs)
      メンバーである型の包含型を指定すると、型要素と実際の型引数に対応する型を返します。 たとえば、パラメータ化された型Outer<String>.Inner<Number>は、最初にgetDeclaredType(TypeElement, TypeMirror...)を使用して型Outer<String>を取得し、次にこのメソッドを呼び出すことによって構築できます。

      包含型がパラメータ化された型の場合、型引数の数は、typeElemの形式型パラメータの数に等しくなければいけません。 パラメータ化されていない場合またはnullの場合、このメソッドはgetDeclaredType(typeElem, typeArgs)と等価です。

      パラメータ:
      containing - 包含型。ない場合はnull
      typeElem - 型要素
      typeArgs - 実際の型引数
      戻り値:
      指定された型内に包含される型要素と実際の型引数に対応する型
      例外:
      IllegalArgumentException - 指定された型引数が多すぎるか少なすぎる場合、あるいは不適切な型引数、型要素、または包含型が提供された場合
    • asMemberOf

      TypeMirror asMemberOf(DeclaredType containing, Element element)
      指定された型のメンバーとして要素が参照される場合、あるいは指定された型に直接包含されるメンバーとして要素が参照される場合、要素の型を返します。 たとえば、パラメータ化された型Set<String>のメンバーとして参照される場合、Set.addメソッドは型Stringのパラメータを持つExecutableTypeです。
      パラメータ:
      containing - 包含型
      element - 要素
      戻り値:
      包含型から参照される要素の型
      例外:
      IllegalArgumentException - 指定された型に対して要素が無効な場合