由于编译器使用类型擦除,因此运行时不会跟踪类型参数,因此在运行时无法使用instanceOf运算符验证Box <Integer>和Box <String>之间差异。
Box<Integer> integerBox = new Box<Integer>(); //Compiler Error: //Cannot perform instanceof check against //parameterized type Box<Integer>. //Use the form Box<?> instead since further //generic type information will be erased at runtime if(integerBox instanceof Box<Integer>) { }
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)