【发布时间】:2011-10-14 02:03:07
【问题描述】:
众所周知,泛型类型在编译过程中无法生存。它们被类强制转换所取代。
但是,类型信息存在于类文件中,可以使用反射查看:
public class Demo
{
private List<String> list;
public Demo() throws SecurityException, NoSuchFieldException
{
System.out.println(((Class<?>)((ParameterizedType) getClass().getDeclaredField("list").getGenericType()).getActualTypeArguments()[0]).getName());
}
public static void main(String[] args) throws SecurityException, NoSuchFieldException
{
new Demo();
}
}
执行时,将打印java.lang.String。
JIT 能否将其用于某种优化?还是从 JIT 的角度来看这些信息是无用的?
【问题讨论】:
标签: java optimization jit