java.lang.NullPointerException解决方案是什么?
(资料图片)
java.lang.NullPointerException出现的几种原因以及解决
1、字符串变量未初始化 2、接口类型的对象没有用具体的类初始化,比如: Map map // 会报错 Map map = new Map(); //则不会报错了
3、当一个对象的值为空时,你没有判断为空的情况。 4、字符串与文字的比较,文字可以是一个字符串或Enum的元素,如下会出现异常 String str = null; if(str.equals(“Test”)){undefined //这里的代码将不会被触发,因为会抛出java.lang.NullPointerException异常。 } 5、优先使用String.valueOf()方法代替toString() 当程序代码需要对象的字符串表示形式时,请避免使用该对象的toString方法。如果你的对象的引用等于null,NullPointerException则会抛出,使用静态String.valueOf方法,该方法不会抛出任何异常并打印"null" 6、class被声明了类型, 默认 class = null; 这样在调用class中方法的时候系统只能给你个空指针异常, 给其实例化就好了:class = new Class(); 7、返回null,方法的返回值不要定义成为一般的类型,而是用数组。这样如果想要返回null的时候就能避免许多不必要的NullPointerException;
容易出现空指针异常的场景
在调用对象方法时:比如处理字符串常用的replace方法,数组的length方法,map的size方法等等; str.replace(…) 如果str为null,这里就直接空指针了 判断一个str是否等于"test",你直接str.equals(“test”) 还有像map.forEach()、list.stream() 、object.equals()、str.toString()… 类似的还有很多,太多了
一些总结:在调用对象方法前先判断对象是否为空(不管是实体、变量、常量、map、list还是其他什么) 在判断对象是否为空时注意不要直接调用判空方法,判空方法特么也是方法 尽量不要用str.toString(),改用String.valueOf() 比如你要判断一个str是否等于"test",你不要str.equals(“test”),可以反过来"test".equals(str)
部分对象判空技巧:StringUtils.isNotBlank(str) StringUtils.isNotEmpty(str) object != null
标签:
相关推荐:
最新新闻:
- 全球百事通!格式化时间是什么?抽象类DateFormat是什么?
- 全球视点!FFT是什么意思?FFT的详解
- 格式化时间是什么?抽象类DateFormat是什么?:当前热文
- 迅雷怎么高速下载?迅雷高速下载方法
- 天天热点!.NET Core是什么?NET Core有哪些用处?
- 打印机共享需要密码怎么办?打印机共享需要密码解决方法
- 梯度(gradient)是什么?梯度的概念
- 如何解决手机浏览器中出现404notfound的问题?手机浏览器404notfound解决方法
- 天天快报!disable怎么运用?disable简单易理解用法
- 电脑无法进入系统怎么办?电脑无法进入系统解决方法
- Internal问题解决流程 Internal server error 500 问题解决思路-动态焦点
- 电脑的显示器屏幕老是闪烁怎么办?电脑的显示器屏幕老是闪烁解决方法
- 如何联系爱奇艺APP中的人工客服?爱奇艺APP人工客服联系步骤
- 宽带的内网和外网什么意思?宽带的内网和外网介绍
- USB2.0怎样提高传输速度?提高传输速度方法
- 摄像头远程监控步骤是什么?手机远程监控摄像头设置方法
- 多普达有哪些型号的手机?多普达最新手机大全详情 天天新视野
- U盘遇到病毒怎么办?U盘遇到病毒解决方法
- 快讯:文章目录是什么?选择排序怎么设置?
- 【天天速看料】Internal问题解决流程 Internal server error 500 问题解决思路
- 使用Icon图标的几种方式是啥?Icon图标怎么使用?
- 信号的基本概念是什么?信号的分类有哪些?
- java.lang.NullPointerException解决方案是什么?
- Excel函数之VLOOKUP()怎么使用?一文搞懂Excel函数之VLOOKUP()使用
- 倒车雷达哪个品牌好?汽车倒车雷达品牌及价格介绍_每日信息
- 美国多灵门锁怎么安装?美国多灵门锁安装步骤?
- 网络的利与弊是什么?网络的利弊分析:环球消息
- lol怎么在游戏里回复好友?lol游戏回复消息设置-环球视点
- 转动惯量是什么意思?转动惯量的含义
- OneNote是什么?OneNote的功能有哪些?
- 每日简讯:磁条读写器多少钱?磁条读写器怎么使用?
- 转动惯量是什么意思?转动惯量的含义 当前聚焦
- 三星N8010如何设置?三星N8010的屏幕锁定图案_快消息
- Modbus通信协议是什么?Modbus通信协议详解
- 世界热文:c语言餐桌游戏有哪些?教会你这十款酒桌游戏让你在朋友圈稳站“C”位!
- 电脑默认网关如何查询?电脑默认网关查询的小技巧
- iPad Air(iPad5)什么时候上市?iPad Air(iPad5)的上市时间-今日快看
- IE浏览器不见了怎么办?IE浏览器不见了解决方法
- 梯度(gradient)是什么?梯度的概念|天天日报
- 今亮点!JSONObject是什么意思?JSONObject详情介绍
- Win7专业版与Win7旗舰版如何区分?Win7专业版与Win7旗舰版区分方法
- 聚焦:工厂模式是什么?工厂模式的详解
- 世界今亮点!UML建模怎么用?UML建模之用例图
- 全球视讯!ThinkBook16p对比联想小新 Pro16 2021款哪个值得更好?详细评测
- Win7系统安装声卡驱动失败怎么办?声卡驱动安装失败解决方法
- mysql置疑原因是什么?数据库置疑的处理办法
- UML建模怎么用?UML建模之用例图:天天百事通
- 百度快照如何彻底删除?百度快照正确的删除方法
- 禁用宏则关闭excel文件怎么弄?设置流程_天天速递
- 英雄联盟无法全屏显示如何解决?英雄联盟无法全屏显示解决方法
- 电脑的显示器屏幕老是闪烁怎么办?电脑的显示器屏幕老是闪烁解决方法
- 如何联系爱奇艺APP中的人工客服?爱奇艺APP人工客服联系步骤
- 宽带的内网和外网什么意思?宽带的内网和外网介绍
- USB2.0怎样提高传输速度?提高传输速度方法
- U盘遇到病毒怎么办?U盘遇到病毒解决方法
- 语义分割:基于openCV和深度学习(二)_环球速看料
- 天天热点!专升本英语重要知识点补充 英语全部知识点详情介绍
- 【世界快播报】CSS:好玩的‘伪类’系列之——(:only-child与:only-of-type) 例子说明
- mysql置疑原因是什么?数据库置疑的处理办法
- 优麒麟社区懒人版本(含软件全家桶) 怎么一键安装?_当前速读
- 禁用宏则关闭excel文件怎么弄?设置流程_天天速递
- java中flypaper怎么使用?Java 基础接口fly_全球快播报
- 每日看点!用VC6.0怎么实现上位机串口通信?位机串口通信的设置方法
- 会议panel是什么意思?医学术语中的panel到底是指什么?
- 观点:颜料墨水和染料墨水的区别是什么?颜料墨水和染料墨水简介
- 天天速递!粘胶短纤维市场现状是什么?粘胶短纤维的未来发展趋势
- 浪漫主义时期的音乐有哪些?浪漫主义乐派是什么?-当前独家
- 世界热文:c语言餐桌游戏有哪些?教会你这十款酒桌游戏让你在朋友圈稳站“C”位!
- Android中LayoutParams是什么?Android中LayoutParams总结和用法
- 今日热门!数据结构试题有哪些?数据结构试题及评分解析
- ssm大学生兼职论坛是什么?大学生兼职有哪些?:每日观察
- 摄氏度和开氏度的换算 开氏度和摄氏度的换算公式 天天亮点
- 基础版本的基础版本 直方图均衡化系列
- 今日视点:怎么设置交换机?计算机交换机连接设置方法
- 天天要闻:图片或手写签名转电子签名怎么转?手写签名转电子签名教程
- 电脑默认网关如何查询?电脑默认网关查询的小技巧
- IE浏览器不见了怎么办?IE浏览器不见了解决方法
- Win7专业版与Win7旗舰版如何区分?Win7专业版与Win7旗舰版区分方法
- Win7系统安装声卡驱动失败怎么办?声卡驱动安装失败解决方法
- 百度快照如何彻底删除?百度快照正确的删除方法
- 英雄联盟无法全屏显示如何解决?英雄联盟无法全屏显示解决方法
- 如何解决IE浏览器网页图片显示红叉问题?IE浏览器网页图片显示红叉解决方法
- Win7系统安装CAD软件提示缺少dfst.dll怎么办?解决方法
- 内网端口映射怎么设置?内网端口映射定义及设置方法
- 美拍是什么?美拍怎么用?