[英]Check what type a list class is of in java
鉴于我有一个
Class<?> clazz
我想验证clazz
是否是我的特定对象的列表
所以我开始
if (List.class.isAssignableFrom(type)) {
}
但直到这里我才核实它是List<?>
。 我如何验证它是否是List<String>
?
你不能。 由于泛型的性质,在运行时类型信息被擦除。 如果您有一个空List
,则无法确定任何内容。 如果它是非空的,您可以检查第一个元素并查看它是否为String
。 那当然不会告诉它是List<String>
, List<CharSequence>
还是原始列表。
如果你得到它,你打算如何处理这些信息? 必然会有更好的方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.