检查列表类在java中的类型

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

考虑到我有一个

Class<?> clazz

但到目前为止,我只验证了它是
List
。例如,我如何验证它是一个
列表

您不能。由于泛型的性质,在运行时类型信息被删除。如果您有一个空的
列表
,您无法确定任何事情。如果它不是空的,您可以检查第一个元素并查看它是否是
字符串。这当然不能说明它是
列表
列表
还是原始列表

如果你得到了这些信息,你打算怎么处理?肯定会有更好的办法

if (List.class.isAssignableFrom(type)) {

}