public interface Types
互換性に関する注: プラットフォームの将来のリリースでは、このインタフェースにメソッドが追加される可能性があります。
ProcessingEnvironment.getTypeUtils()
修飾子と型 | メソッドと説明 |
---|---|
Element |
asElement(TypeMirror t)
型に対応する要素を返します。
|
TypeMirror |
asMemberOf(DeclaredType containing, Element element)
指定された型のメンバーとして要素が参照される場合、あるいは指定された型に直接包含されるメンバーとして要素が参照される場合、要素の型を返します。
|
TypeElement |
boxedClass(PrimitiveType p)
指定されたプリミティブ型のボクシングされた値のクラスを返します。
|
TypeMirror |
capture(TypeMirror t)
型に取得変換を適用します。
|
boolean |
contains(TypeMirror t1, TypeMirror t2)
ある型引数を別の型に包含できるかどうかをテストします。
|
List<? extends TypeMirror> |
directSupertypes(TypeMirror t)
型の直接のスーパー・タイプを返します。
|
TypeMirror |
erasure(TypeMirror t)
型の消去を返します。
|
ArrayType |
getArrayType(TypeMirror componentType)
指定されたコンポーネント型とともに配列型を返します。
|
DeclaredType |
getDeclaredType(DeclaredType containing, TypeElement typeElem, TypeMirror... typeArgs)
メンバーである型の包含型を指定すると、型要素と実際の型引数に対応する型を返します。
|
DeclaredType |
getDeclaredType(TypeElement typeElem, TypeMirror... typeArgs)
型要素と実際の型引数に対応する型を返します。
|
NoType |
getNoType(TypeKind kind)
適切な実際の型が存在しない場合に使用される擬似型を返します。
|
NullType |
getNullType()
null型を返します。
|
PrimitiveType |
getPrimitiveType(TypeKind kind)
プリミティブ型を返します。
|
WildcardType |
getWildcardType(TypeMirror extendsBound, TypeMirror superBound)
新しいワイルドカードの型引数を返します。
|
boolean |
isAssignable(TypeMirror t1, TypeMirror t2)
ある型を別の型に代入できるかどうかをテストします。
|
boolean |
isSameType(TypeMirror t1, TypeMirror t2)
2つの
TypeMirror オブジェクトが同じ型を表すかどうかをテストします。 |
boolean |
isSubsignature(ExecutableType m1, ExecutableType m2)
あるメソッドのシグネチャが別のメソッドのサブシグネチャであるかどうかをテストします。
|
boolean |
isSubtype(TypeMirror t1, TypeMirror t2)
ある型が別の型のサブタイプであるかどうかをテストします。
|
PrimitiveType |
unboxedType(TypeMirror t)
指定された型のアンボクシングされた値の型(プリミティブ型)を返します。
|
Element asElement(TypeMirror t)
DeclaredType
とTypeVariable
のいずれかです。型が対応する要素を持たない場合はnull
を返します。t
- 要素にマップする型boolean isSameType(TypeMirror t1, TypeMirror t2)
TypeMirror
オブジェクトが同じ型を表すかどうかをテストします。
注意: このメソッドに渡される引数のいずれかがワイルドカードを表している場合、このメソッドはfalseを返します。そのため、ワイルドカードは自身と同じ型ではありません。これは一見驚くべきことですが、次のような例はコンパイラに拒否されることから理解できるはずです。
List<?> list = new ArrayList<Object>();
list.add(list.get(0));
注釈は型に関連付けられたメタデータにすぎないため、2つのTypeMirror
オブジェクトが同じ型かどうかを計算するときに、どちらの引数の注釈セットも考慮されません。具体的には、2つのTypeMirror
オブジェクトは異なる注釈を持っていても同じと見なされる可能性があります。
t1
- 1番目の型t2
- 2番目の型true
boolean isSubtype(TypeMirror t1, TypeMirror t2)
t1
- 1番目の型t2
- 2番目の型true
IllegalArgumentException
- 実行可能ファイルまたはパッケージ型が渡された場合boolean isAssignable(TypeMirror t1, TypeMirror t2)
t1
- 1番目の型t2
- 2番目の型true
IllegalArgumentException
- 実行可能ファイルまたはパッケージ型が渡された場合boolean contains(TypeMirror t1, TypeMirror t2)
t1
- 1番目の型t2
- 2番目の型true
IllegalArgumentException
- 実行可能ファイルまたはパッケージ型が渡された場合boolean isSubsignature(ExecutableType m1, ExecutableType m2)
m1
- 最初のメソッドm2
- 2番目のメソッドtrue
List<? extends TypeMirror> directSupertypes(TypeMirror t)
t
- 調べる対象の型IllegalArgumentException
- 実行可能ファイルまたはパッケージ型が渡された場合TypeMirror erasure(TypeMirror t)
t
- 消去される型IllegalArgumentException
- パッケージ型が渡された場合TypeElement boxedClass(PrimitiveType p)
p
- 変換されるプリミティブ型p
のボクシングされた値のクラスPrimitiveType unboxedType(TypeMirror t)
t
- アンボクシングされる型t
のアンボクシングされた値の型IllegalArgumentException
- 指定された型がアンボクシング変換を持たない場合TypeMirror capture(TypeMirror t)
t
- 変換される型IllegalArgumentException
- 実行可能ファイルまたはパッケージ型が渡された場合PrimitiveType getPrimitiveType(TypeKind kind)
kind
- 返すプリミティブ型の種類IllegalArgumentException
- kind
がプリミティブ型でない場合NullType getNullType()
null
の型です。NoType getNoType(TypeKind kind)
VOID
とNONE
のいずれかです。パッケージでは、代わりにElements.getPackageElement(CharSequence)
.asType()
を使用します。kind
- 返される型の種類VOID
またはNONE
の擬似型。IllegalArgumentException
- kind
が有効でない場合ArrayType getArrayType(TypeMirror componentType)
componentType
- コンポーネント型IllegalArgumentException
- コンポーネント型が配列に対して有効でない場合WildcardType getWildcardType(TypeMirror extendsBound, TypeMirror superBound)
extendsBound
- extends境界(上限)。存在しない場合はnull
superBound
- super境界(下限)。存在しない場合はnull
IllegalArgumentException
- 境界が有効でない場合DeclaredType getDeclaredType(TypeElement typeElem, TypeMirror... typeArgs)
Set
の型要素とString
の型ミラーが指定されている場合、このメソッドを使用すると、パラメータ化された型Set<String>
を取得できます。
型引数の数は、型要素の形式型パラメータの数に等しいか、ゼロである必要があります。ゼロの場合および型要素がジェネリックの場合は、型要素の生の型が返されます。
パラメータ化された型が返される場合、型要素はジェネリック外部クラス内に含まれません。たとえば、パラメータ化された型Outer<String>.Inner<Number>
は、最初にこのメソッドを使用して型Outer<String>
を取得し、次にgetDeclaredType(DeclaredType, TypeElement, TypeMirror...)
を呼び出すことによって構築できます。
typeElem
- 型要素typeArgs
- 実際の型引数IllegalArgumentException
- 指定された型引数が多すぎるか少なすぎる場合、あるいは不適切な型引数または型要素が提供された場合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
- 指定された型引数が多すぎるか少なすぎる場合、あるいは不適切な型引数、型要素、または包含型が提供された場合TypeMirror asMemberOf(DeclaredType containing, Element element)
Set<String>
のメンバーとして参照される場合、Set.add
メソッドは型String
のパラメータを持つExecutableType
です。containing
- 包含型element
- 要素IllegalArgumentException
- 指定された型に対して要素が無効な場合 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.