我正在尝试获取一个条件,以评估为false。我有一个Field,它是我从查看declaredFields
获得的地图。 Map参数化类型type
会导致条件为假什么?
// field is a Map from a class using reflection (declaredFields)
Type type = ((ParameterizedType) field.getGenericType()).getActualTypeArguments()[i]
if (type instanceof Class) {
everthingsAClass()
} else {
whatIsntAClass()
}
答案 0 :(得分:2)
除了static
外,还有许多非公共类可以间接实现Class
。
例如,Type
实现sun.reflect.generics.reflectiveObjects.TypeVariableImpl
,它是扩展TypeVariable
的接口。
其他示例包括Type
,GenericArrayTypeImpl
和ParameterizedTypeImpl
。
这些类的实例可以通过各种反射API方法(例如WildcardTypeImpl
的{{1}}和getGenericInterfaces
方法)返回。