Java泛型 - 不允许 强制转换

Java泛型 - 不允许 强制转换 首页 / 泛型入门教程 / Java泛型 - 不允许 强制转换

除非强制使用无界通配符对其进行参数化,否则不允许强制转换为参数化类型。

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;
}

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

持续交付36讲 -〔王潇俊〕

深入剖析Kubernetes -〔张磊〕

数据结构与算法之美 -〔王争〕

网络编程实战 -〔盛延敏〕

研发效率破局之道 -〔葛俊〕

人人都能学会的编程入门课 -〔胡光〕

Java业务开发常见错误100例 -〔朱晔〕

徐昊 · TDD项目实战70讲 -〔徐昊〕

深入拆解消息队列47讲 -〔许文强〕

好记忆不如烂笔头。留下您的足迹吧 :)