【发布时间】:2016-03-15 11:27:20
【问题描述】:
鉴于我有一个
Class<?> clazz
我想验证clazz 是否是我的特定对象的列表
所以我从
开始if (List.class.isAssignableFrom(type)) {
}
但直到这里我才验证它是List<?>。例如,我如何验证它是List<String>?
【问题讨论】:
鉴于我有一个
Class<?> clazz
我想验证clazz 是否是我的特定对象的列表
所以我从
开始if (List.class.isAssignableFrom(type)) {
}
但直到这里我才验证它是List<?>。例如,我如何验证它是List<String>?
【问题讨论】:
你不能。由于泛型的性质,在运行时类型信息会被删除。如果你有一个空的List,你不能确定任何事情。如果它不为空,您可以检查第一个元素并查看它是否为String。这当然无法判断它是 List<String>、List<CharSequence> 还是原始列表。
如果你得到这些信息,你打算做什么?肯定会有更好的方法。
【讨论】: