1、预定义
1.1 数字之间
- 显式:高精度 -> 低精度(概况描述,不准确)
- 隐式:低精度 -> 高精度(概况描述,不准确)
- 使用checked、unchecked关键字指定是否检测结果溢出。
1.2 引用之间
- 显式:父类 -> 子类
- 隐式:子类 -> 父类
- 使用is关键字判断Source Type是否可以被转换为Target Type(方式:引用转换、装箱、拆箱,不能用于用户自定义转换)。
- 使用as关键字将Source Type转换为Target Type(方式:引用转换、装箱,不能用于用户自定义转换;失败返回null,不抛出异常)。
1.3 数字与引用之间
- 装箱:值类型 -> 引用类型
- 拆箱:引用类型 -> 值类型
2、自定义
使用implicit、explicit关键字定义转换。
- Source Type 与 Target Type不能为同一类型。
- Source Type 与 Target Type之间不能存在继承关系。
- 建议:对于有损转换(信息丢失或精度损失),使用显式转换。否则可使用隐式转换。
网友评论