隐式转换和自动封箱
来源:互联网 发布:mcst指标源码 编辑:程序博客网 时间:2024/04/27 14:19
public static void main(String[] args){ Integer a = null; Integer b = true ? a : 0; Integer c = true ? a : Integer.valueOf(0); }
Integer b = true ? a : 0;
编译通过,运行时抛出NullPointerException,原因就在于在运行期整个三目表达式认为a的程序类型为Integer,而0的程序类型为int,并自动进行了隐式的类型转换,试图将a转化为int,很明显这导致了错误的发生。
Integer c = true ? a : Integer.valueOf(0);
编译通过,运行正常,通过强制类型转换避免自动封箱.
- 隐式转换和自动封箱
- Integer的自动封箱
- 封箱和拆箱
- 封箱和拆箱
- C# 封箱和拆箱
- Java的装箱和封箱
- java的封箱和拆箱
- java中的自动装箱封箱的一些细节性的问题
- String和int拆箱和封箱的疑问
- c#经典入门学习笔记-封箱和拆箱
- C语言中自动隐式转换和类型强制转换的一点注意
- 黑马程序员 关于包装类的自动封箱与拆箱操作需要注意的地方
- 自动和强制类型转换
- java的自动转换和强制转换
- 数据类型的自动转换和强制转换
- 自动类型转换和强制类型转换
- Java数据类型转换(自动转换和强制转换)
- Java数据类型转换(自动转换和强制转换)
- 可重入函数和不可重入函数
- PendingIntent的使用
- java反射
- LINUX FTP安装与配置
- 重学设计模式 - Prototype模式
- 隐式转换和自动封箱
- Oracle汉字转拼音
- ArcGIS Android API 应用开发之图形绘制与长度面积量算
- StringWriter和StringReader
- Optrix 让iPhone转换成高清运动相机
- Oracle 的 to_date 函数详解 日期总结
- 链表原地置反
- Win32DLL源码换编译器
- 使用Cisco VPN 报错原因