|
JavaTM 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
- 第二个方法
true
List<? 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
- 扩展(上)边界;如果没有,则该参数为 null
superBound
- 超(下)边界;如果没有,则该参数为 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
- 包含类型;如果没有,则该参数为 null
typeElem
- 类型元素typeArgs
- 实际类型参数
IllegalArgumentException
- 如果给定的类型参数太多或太少,或者提供了不合适的类型参数、类型元素或包含类型TypeMirror asMemberOf(DeclaredType containing, Element element)
Set<String>
的成员时,Set.add
方法是参数类型为 String
的 ExecutableType
。
containing
- 包含类型element
- 元素
IllegalArgumentException
- 如果元素对于给定类型无效
|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。