鉴于我有一个
Class<?> clazz
我想验证clazz
是否是我的特定对象列表
所以我从
开始if (List.class.isAssignableFrom(type)) {
}
但直到这里我才核实它是List<?>
。我该如何验证它是List<String>
?
答案 0 :(得分:7)
你不能。由于泛型的性质,在运行时类型信息被擦除。如果您有一个空List
,则无法确定。如果它不是空的,您可以检查第一个元素,看它是否为String
。这当然不会告诉它是List<String>
,List<CharSequence>
还是原始列表。
如果你得到这些信息,你打算怎么做?这肯定是一种更好的方法。