CrazyDailyQuestion
CrazyDailyQuestion copied to clipboard
声网二面: 从JVM角度说一下泛型擦除?
我们来看一下非泛型版本的字节码信息
在编译过程中,类型变量的信息是能拿到的。所以,set方法在编译器可以做类型检查,非法类型不能通过编译。对于get方法,由于擦除机制,运行时的实际引用类型为Object类型。为了“还原”返回结果的类型,编译器在get之后添加了类型转换。
我们再看一下泛型版本