:Apple a = (Apple) b.get(); // 强转,可能出现ClassCastException这就是类型不安全,一旦强转错了类型,程序就GG了。...这时候静态方法已经创建完了,无法使用这个实际类型,所以编译器不允许这么做。2)类型擦除就是编译器删除所有与类型参数相关的信息,并替换为上限(通常是Object类型)的过程。...类型擦除有利有弊,好处是可以在1.5之前的VM上运行泛型代码,坏处是导致些许运行期间的效率损失,因为擦除后所有的类型参数都被替换为Object类型。不过这点性能损失在大部分情况下可以忽略。...泛型中通配符和无边界的有什么区别?无边界的表示任何类型,它没有任何限制,可以理解为,T可以替换为任何类型。而候选人: 非常高兴能帮到您!