- Java泛型教程
- Java泛型 - 主页
- Java泛型 - 概述
- Java泛型 - 环境设置
- 示例 - 泛型类
- Java泛型 - 泛型类
- 类型参数的命名约定
- Java泛型 - 类型推断
- Java泛型 - 泛型方法
- Java泛型 - 多种类型
- Java泛型 - 参数化类型
- Java泛型 - 原始类型
- 示例 - 受限类型
- 受限类型参数
- Java泛型 - 多重受限
- 示例 - 集合
- Java泛型 - 泛型列表
- Java泛型 - 泛型集合
- Java泛型 - 泛型映射
- 示例 - 通配符
- 上限定通配符
- 泛型 - 无限定通配符
- 下限定通配符
- 泛型 - 通配符准则
- 类型擦除
- Java泛型 - 类型擦除
- Java泛型 - 受限类型擦除
- 无限定类型擦除
- Java泛型 - 方法擦除
- 泛型的限制
- Java泛型 - 无原始类型
- Java泛型 - 无实例
- Java泛型 - 无静态字段
- Java泛型 - 无装箱
- Java泛型 - 无 instanceOf
- Java泛型 - 无数组
- Java泛型 - 无异常
- Java泛型 - 无重载
- Java泛型实用资源
- Java泛型 - 快速指南
- Java泛型 - 实用资源
- Java泛型 - 讨论
Java泛型 - 无装箱
除非使用无限定通配符对参数化类型进行参数化,否则不允许向参数化类型进行强制转换。
Box<Integer> integerBox = new Box<Integer>(); Box<Number> numberBox = new Box<Number>(); //Compiler Error: Cannot cast from Box<Number> to Box<Integer> integerBox = (Box<Integer>)numberBox;
要实现相同的功能,可以使用无限定通配符。
private static void add(Box<?> box) { Box<Integer> integerBox = (Box<Integer>)box; }
广告