当程序调用泛型方法时,如果擦除返回类型,编译器将会自动插入强制类型转换;
例如:
Pair<Employee> body = ……;
Employee buddy = body.getFirst();
擦除getFirst的返回类型后将返回Object类型,编译器将自动插入Employee的强制类型转换,也就是下面的意思;
编译器把这个方法调用翻译为两条虚拟机命令:
1、对原始方法Pair.getFirst的调用;
2、将返回的Object类型强制转换为Employee类型。
注意:当存取一个泛型域时也要插入强制类型转换。
|
|