我想获取类模板的类型名称(ex set)。例如,当我使用:
Set<Personne> p = new HashSet<Personne>();
/* manipulate p etc ... */
即使p为空,如何使用p.getTypeName()
之类的东西知道p的类型名称(也就是Personne)。
答案 0 :(得分:6)
在运行时,你不能。这是由于type erasure。
答案 1 :(得分:1)
由于Java的类型擦除,您无法在运行时访问参数化类型。但是,如果您知道可能的类型,并且只想检查它是否是其中之一:
if (someObject instanceof SomeType) {
...
} else if (someObject instanceof SomeOtherType) {
...
} ...