除非强制使用无界通配符对其进行参数化,否则不允许强制转换为参数化类型。
Box<Integer> integerBox=new Box<Integer>(); Box<Number> numberBox=new Box<Number>(); //编译器错误:无法从 Box<Number> 转换为 Box<Integer> integerBox=(Box<Integer>)numberBox;
要实现相同的目的,可以使用无界通配符。
private static void add(Box<?> box) { Box<Integer> integerBox=(Box<Integer>)box; }
参考链接
https://www.learnfk.com/java-generics/java-generics-no-cast.html
标签:Box,java,numberBox,Java,integerBox,无涯,generics,泛型,new From: https://blog.51cto.com/u_14033984/9017648