|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
public interface Types
用來對型別進行操作的實用工具方法。
相容性注意事項: 在將來的平臺版本中可能會向此介面添加一些方法。
ProcessingEnvironment.getTypeUtils()| 方法摘要 | |
|---|---|
Element |
asElement(TypeMirror t)
返回對應於型別的元素。 |
TypeMirror |
asMemberOf(DeclaredType containing,
Element element)
當元素被視為給定型別的成員或者直接由給定型別包含時,返回該元素的型別。 |
TypeElement |
boxedClass(PrimitiveType p)
返回給定基本型別的裝箱 (boxed) 值型別的類別。 |
TypeMirror |
capture(TypeMirror t)
對型別應用 capture 轉換。 |
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)
測試兩個 TypeMirror 物件是否表示同一型別。 |
boolean |
isSubsignature(ExecutableType m1,
ExecutableType m2)
測試一個方法的簽章是否是另一個方法的子簽章。 |
boolean |
isSubtype(TypeMirror t1,
TypeMirror t2)
測試一種型別是否是另一個型別的子型別。 |
PrimitiveType |
unboxedType(TypeMirror t)
返回給定型別的拆箱 (unboxed) 值型別(基本型別)。 |
| 方法詳細資訊 |
|---|
Element asElement(TypeMirror t)
DeclaredType 或 TypeVariable。如果該型別沒有對應元素,則返回 null。
boolean isSameType(TypeMirror t1,
TypeMirror t2)
TypeMirror 物件是否表示同一型別。
警告:如果此方法兩個參數中有一個表示通配符,那麼此方法將返回 false。因此,通配符與其本身的型別不同。初看起來這可能讓人感到很奇怪,但考慮到編譯器一定會拒絕以下範例時,這就很合理了:
List<?> list = new ArrayList<Object>();list.add(list.get(0));
t1 - 第一種型別t2 - 第二種型別
true
boolean isSubtype(TypeMirror t1,
TypeMirror t2)
t1 - 第一種型別t2 - 第二種型別
true
IllegalArgumentException - 如果給定一個 executable 或 package 型別
boolean isAssignable(TypeMirror t1,
TypeMirror t2)
t1 - 第一種型別t2 - 第二種型別
true
IllegalArgumentException - 如果給定一個 executable 或 package 型別
boolean contains(TypeMirror t1,
TypeMirror t2)
t1 - 第一種型別t2 - 第二種型別
true
IllegalArgumentException - 如果給定一個 executable 或 package 型別
boolean isSubsignature(ExecutableType m1,
ExecutableType m2)
m1 - 第一個方法m2 - 第二個方法
trueList<? extends TypeMirror> directSupertypes(TypeMirror t)
t - 將被檢查的型別
IllegalArgumentException - 如果給定一個 executable 或 package 型別TypeMirror erasure(TypeMirror t)
t - 要刪除的型別
IllegalArgumentException - 如果給定一個 package 型別TypeElement boxedClass(PrimitiveType p)
p - 要轉換的基本型別
p 的裝箱值型別的類別PrimitiveType unboxedType(TypeMirror t)
t - 要拆箱的型別
t 的拆箱值型別
IllegalArgumentException - 如果給定型別無法進行 unboxing 轉換TypeMirror capture(TypeMirror t)
t - 要轉換的型別
IllegalArgumentException - 如果給定 executable 或 package 型別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 - 擴展(上)邊界;如果沒有,則該參數為 nullsuperBound - 超(下)邊界;如果沒有,則該參數為 null
IllegalArgumentException - 如果邊界無效
DeclaredType getDeclaredType(TypeElement typeElem,
TypeMirror... typeArgs)
Set 的型別元素和 String 的型別鏡像,那麼可以使用此方法獲取參數化型別 Set<String>。
型別參數的數量必須等於型別元素的形式型別參數的數量,或者等於 0。如果等於 0,並且型別元素是泛型,則返回該型別元素的原始型別。
如果返回一個參數化型別,則其型別元素不得包含在一般外部類別中。例如,首先使用此方法獲取型別 Outer<String>,然後調用 getDeclaredType(DeclaredType, TypeElement, TypeMirror...),可以建構參數化型別 Outer<String>.Inner<Number>。
typeElem - 型別元素typeArgs - 實際型別參數
IllegalArgumentException - 如果給定的型別參數太多或太少,或者提供不合適的型別參數或型別元素
DeclaredType getDeclaredType(DeclaredType containing,
TypeElement typeElem,
TypeMirror... typeArgs)
getDeclaredType(TypeElement, TypeMirror...) 獲取型別 Outer<String>,然後調用此方法,可以建構參數化型別 Outer<String>.Inner<Number>。
如果包含型別是一個參數化型別,則型別參數的數量必須等於 typeElem 的形式型別參數的數量。如果包含型別不是參數化的,或者為 null,則此方法等效於 getDeclaredType(typeElem, typeArgs)。
containing - 套件含型別;如果沒有,則該參數為 nulltypeElem - 型別元素typeArgs - 實際型別參數
IllegalArgumentException - 如果給定的型別參數太多或太少,或者提供了不合適的型別參數、型別元素或包含型別
TypeMirror asMemberOf(DeclaredType containing,
Element element)
Set<String> 的成員時,Set.add 方法是參數型別為 String 的 ExecutableType。
containing - 套件含型別element - 元素
IllegalArgumentException - 如果元素對於給定型別無效
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個類別 下一個類別 | 框架 無框架 | |||||||||
| 摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。