java陷阱之自动拆箱
项目中突然报空指针异常
Integer code=null;code=code==null?500:code;
排查发现三元运算符空指针异常,表面上看不出来有什么问题,编译器编译的时候会保证:2边数据类型一致如:
String code=true?"":0;
会编译不通过。因为String 和int不是一个类型
按照上面的逻辑Integer是class类型并不是数值类型 编译器应该编译不通过。其实编译之后编译器后的代码是:
ccode=code==null?500:code.initValue();
所以这段代码才会编译通过。但是当code是null 调用initValue就会报空指针异常 同理以下代码也会报空指针异常
Integer code=null;int i=code;--编译之后代码int i=code.initValue()
这一切的原因都是编译器自动拆箱造成的。如下情况 价格是否为null判断就好了
转载于:https://www.cnblogs.com/LQBlog/p/9090647.html
java陷阱之自动拆箱相关推荐
- 如何理解Java中的自动拆箱和自动装箱?
小伟刚毕业时面的第一家公司就被面试官给问住了,记忆尤深啊- 如何理解Java中的自动拆箱和自动装箱? 自动拆箱?自动装箱?什么鬼,听都没听过啊,这-这-知识盲区- 回到家后小伟赶紧查资料,我透,这不就 ...
- java中的自动拆箱和装箱(以及NEP问题)
java中的自动拆箱和装箱 1.回顾知识点 java中的8种基本数据类型,可以分为三类 字符类型 char 布尔类型 boolean 整数类型 byte , short , int , long 浮点 ...
- 如何理解Java自动装箱_如何理解Java中的自动拆箱和自动装箱?
如何理解Java中的自动拆箱和自动装箱? 自动拆箱?自动装箱?什么鬼,听都没听过啊,这...这..知识盲区... 回到家后小伟赶紧查资料,我透,这不就是问基本类型跟封装类型吗,面试官整啥名词呢... ...
- Java进阶之自动拆箱与自动装箱
序. java基本类型介绍 java中,基本数据类型一共有8种,详细信息如下表: 类型 大小 范围 默认值 byte 8 -128 - 127 0 short 16 -32768 - 32768 0 ...
- Java中的自动拆箱装箱(AutoboxingUnboxing)
一.基本类型打包器 1.基本类型:long.int.double.float.boolean 2.类类型:Long.Integer.Double.Float.Boolean 区别:基本类型效率更高,类 ...
- JAVA高级特性--自动拆箱-装箱,枚举类型
基本数据类型转换为引用类型对象 一个自动装箱的例子 Integer i=10;相当于 Integer i=new Integer(10); 一个自动拆箱的例子 Integer m=10;int n=m ...
- 一文读懂什么是Java中的自动拆装箱
本文主要介绍Java中的自动拆箱与自动装箱的有关知识. 基本数据类型 基本类型,或者叫做内置类型,是Java中不同于类(Class)的特殊类型.它们是我们编程中使用最频繁的类型. Java是一种强类型 ...
- java integer valueof_一文读懂什么是Java中的自动拆装箱
本文主要介绍Java中的自动拆箱与自动装箱的有关知识. 基本数据类型 基本类型,或者叫做内置类型,是Java中不同于类(Class)的特殊类型.它们是我们编程中使用最频繁的类型. Java是一种强类型 ...
- [转载] 什么是Java中的自动拆装箱 integer
参考链接: Java中autoboxing自动装箱整数对象的比较 本文主要介绍Java中的自动拆箱与自动装箱的有关知识. 1.基本数据类型 基本类型,或者叫做内置类型,是Java中不同于类(Class ...
最新文章
- Linux qgis 编译,QGIS简介与源代码编译
- matlab表白_520新玩法!MATLAB大神教你画爱心
- cout 输出指定位数,不足补0
- ICLR 2020 开源论文 | 隐空间的图神经网络:Geom-GCN
- CentOS 初体验九:curl 的使用
- UGUI_LayoutGroup布局
- 什么是spring(转载)
- iOS12.3正式版发布 iOS13亮相进入倒计时
- 剑指offer(C++)-JZ23:链表中环的入口结点(数据结构-链表)
- numpy基础1多维数组对象
- [UML]转:UML类图集中关系的总结
- JProfiler配置一个会话(测试工程)
- 让“王码五笔输入法”成为你的专用输入法!
- t分布 u分布 卡方分布_卡方分布、t分布和f分布各有哪些重要性质?
- 京瓷p5018cdn教程_京瓷P5018cdn驱动-京瓷ECOSYS P5018cdn打印机驱动下载 v7.4.1411官方版-下载啦...
- ERP系统各子系统功能模块页面
- 我要吐槽各大自媒体平台的权重问题
- zcu104 AXI DMA速度测试总结
- 花千芳口出狂言说英语没用,王思聪怒怼他!在线英语培训越来越重要!
- Real-Time Rendering 4th 译文《六 纹理(下)》
热门文章
- weblogic项目java.sql.SQLException: ORA-01861: 文字与格式字符串不匹配 	at oracle.jdbc.....错误解决
- 数据结构与算法之美day 6: 如何实现LRU缓存淘汰算法?
- 我爱自然语言处理bert ner chinese
- Pytorch 多 GPU 并行处理机制
- 自然语言处理课程(二):Jieba分词的原理及实例操作
- 基于Vue开发的购物车案例
- Python 应用领域以及版本之间的区别
- TensorRT-安装-使用
- Android动画之帧动画和补间动画
- 大数据调度平台Airflow(五):Airflow使用