获取类模板的类型名称

时间:2012-01-31 13:57:47

标签: java generics

我想获取类模板的类型名称(ex set)。例如,当我使用:

Set<Personne> p = new HashSet<Personne>();
/* manipulate p etc ... */

即使p为空,如何使用p.getTypeName()之类的东西知道p的类型名称(也就是Personne)。

2 个答案:

答案 0 :(得分:6)

在运行时,你不能。这是由于type erasure

答案 1 :(得分:1)

由于Java的类型擦除,您无法在运行时访问参数化类型。但是,如果您知道可能的类型,并且只想检查它是否是其中之一:

if (someObject instanceof SomeType) {
    ...
} else if (someObject instanceof SomeOtherType) {
    ...
} ...