【发布时间】:2017-05-05 20:28:27
【问题描述】:
我是 Java 泛型的新手,我一直无法弄清楚它的内部工作原理。如果编译器执行的 Erasures 删除了 .java 文件中的所有类型参数,并生成了一个旧 JVM 可以理解的普通 .class 文件,那么我们如何能够当我们从程序中引用其他类时,知道它是 java 编译器使用的 .class 文件,通常从其他类中引用这样的类吗?编译器如何处理该 .class 文件中的所有 Object 引用,以确定哪些是原始 Object,哪些是 Erasure 的结果?
【问题讨论】: