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

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

教程推荐

结构写作力 -〔李忠秋〕

说透元宇宙 -〔方军〕

React Native 新架构实战课 -〔蒋宏伟〕

HarmonyOS快速入门与实战 -〔QCon+案例研习社〕

跟着高手学复盘 -〔张鹏〕

Flink核心技术与实战 -〔张利兵〕

分布式系统案例课 -〔杨波〕

微信小程序全栈开发实战 -〔李艺〕

算法面试通关40讲 -〔覃超〕

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