为什么在泛型中T.getClass()返回Class <!-?->而不返回Class <t>?

时间:2019-02-08 10:59:57

标签: java generics reflection

这通常使我们在使用番石榴的TypeToken时不得不进行“未经检查”的强制转换回Class<T>

public <T> T doSomething(T dest) {
    @SuppressWarnings("unchecked")
    final Class<T> destClass = (Class<T>) dest.getClass();

    final TypeToken<T> destType = TypeToken.of(destClass);

    ...

    return dest;
}

为什么要做出这个选择?这是由于类型擦除引起的吗?

0 个答案:

没有答案