检查列表类在java中的类型
考虑到我有一个检查列表类在java中的类型,java,class,generics,Java,Class,Generics,考虑到我有一个 Class<?> clazz 但到目前为止,我只验证了它是List。例如,我如何验证它是一个列表?您不能。由于泛型的性质,在运行时类型信息被删除。如果您有一个空的列表,您无法确定任何事情。如果它不是空的,您可以检查第一个元素并查看它是否是字符串。这当然不能说明它是列表、列表还是原始列表 如果你得到了这些信息,你打算怎么处理?肯定会有更好的办法 if (List.class.isAssignableFrom(type)) { }
Class<?> clazz
但到目前为止,我只验证了它是
List
。例如,我如何验证它是一个列表
?您不能。由于泛型的性质,在运行时类型信息被删除。如果您有一个空的列表
,您无法确定任何事情。如果它不是空的,您可以检查第一个元素并查看它是否是字符串。这当然不能说明它是列表
、列表
还是原始列表
如果你得到了这些信息,你打算怎么处理?肯定会有更好的办法
if (List.class.isAssignableFrom(type)) {
}