java避免NPE的方法
避免NPE的方法
1.equals方法
public void equals() {//代表未知的对象,可能会是NULL也可能不是NULLObject unKnowObject = null;//这样某些情况下可能会抛出NULLPointExceptionSystem.out.println(unKnowObject.equals("str"));//改成如下//str一定不会空,所以不会抛出异常System.out.println("str".equals(unKnowObject));
}
2.valueOf与toString
public void toMyString() {BigDecimal bigDecimal = null;//避免如下写法,当对象为空时候会抛出异常System.out.println(bigDecimal.toString());//使用String静态方法System.out.println(String.valueOf(bigDecimal));
}
3.元素的list避免null
public void retrieveDataFromDB() {//如果没有检索到数据,返回0元素的list,map,set而不是nullList result = Collections.EMPTY_LIST;
}
4.java8的Optional来避免NPE
有值返回,无值返回默认值
java避免NPE的方法相关推荐
- 常见java空指针异常NPE
总述 NPE(NullPointerException) 方法的返回值可以为null,不强制返回空集合,或者空对象等,必须添加注释充分说明什么情况下会返回 null 值. 防止NPE是调用者的责任:返 ...
- java带参数的方法笔记_具有Java参数的方法的类声明
类声明可以包含在Java中具有参数的方法.演示此过程的程序如下: 示例class Message { public void messagePrint(String msg) { System.out ...
- java.util.Collections.synchronizedSet()方法的使用
下面的例子显示java.util.Collections.synchronizedSet()方法的使用 package com.;import java.util.*;public class Col ...
- java -version cmd_java如何运行步骤cmd?Java执行cmd命令方法有哪些?
写好一个java程序之后,我们的最终目的就是可以正确的运行程序,如果程序运行正确了,那么代码也就没有什么问题了,可是java如何运行步骤cmd?接下来,我们就来给大家讲解一下这方面的内容. 1.首先用 ...
- java反射 数组类,乐字节Java反射之三:方法、数组、类加载器和类的生命周期
继续讲述Java反射之三:方法.数组.类加载器 一.方法 获取所有方法(包括父类或接口),使用Method即可. public static void test() throwsException { ...
- 转:JAVA常见错误处理方法 和 JVM内存结构
OutOfMemoryError在开发过程中是司空见惯的,遇到这个错误,新手程序员都知道从两个方面入手来解决:一是排查程序是否有BUG导致内存泄漏:二是调整JVM启动参数增大内存.OutOfMemor ...
- java threadgourp_Java Thread getThreadGroup()方法
Java Thread getThreadGroup()方法 java.lang.Thread.getThreadGroup() 方法返回此线程所属的线程组.它返回null,如果该线程已经死亡(停止) ...
- [zz] 深入java虚拟机之本地方法
[zz] 深入java虚拟机之本地方法 转自:http://blog.csdn.net/sunxiaosunxiao/article/details/6829899 本地方法就是直接和硬件打交道的一个 ...
- JAVA中复制数组的方法
在JAVA里面,可以用复制语句"A=B"给基本类型的数据传递值,但是如果A,B是两个同类型的数组,复制就相当于将一个数组变量的引用传递给另一个数组;如果一个数组发生改变,那么 ...
最新文章
- VTK:几何对象之ColoredLines
- 每日程序C语言36-数组中前面各数顺序向后移动m个位置
- 机器学习003-Kernel
- arcgis几何修复有作用吗_ArcGis拓扑的那些事儿(拓扑应用过程二)
- 安卓第一阶段实训项目:基于存储卡音乐播放器(更新中……)
- 30.Qt的内存管理
- “串标围标”,是如何被识破的?
- java一次性查询几十万,几百万数据解决办法
- android手机状态解释,比方android.os.Build.VERSION.SDK
- sublime3定制化为python3编辑利器。
- Atitit opencv 模板匹配
- git可视化工具小乌龟安装
- 金蝶eas怎么引出凭证_如何引出会计分录序时簿?
- Elaine的python初学习
- mysql explain不准确_mysql explain预估剖析
- 常用品牌交换机端口镜像(Port Mirroring)配置
- ORACLE 错误一览表
- 实践是检验真理的唯一标准!
- 【GAM全文翻译及代码实现】Global Attention Mechanism: Retain Information to Enhance Channel-Spatial Interactions
- 在Excel中如何让数字自动增长?
热门文章
- Arduino IDE入门编程
- 宿州学院对口招生计算机试卷题目,宿州学院2017年对口招生学前教育专业技能测试内容及评分标准...
- C# 使用反射调用方法_MethodInfo.Invoke方法
- Java 多线程 终止线程的4中方式
- 【手把手教你薅羊毛(新闻APP)】
- 艾媒直播行业报告出炉 花椒直播何以扩大领先优势?
- win7系统的计算机里没有扫描设备,Win7系统扫描仪添加方法
- ANDROID N 分屏设置
- 【题解】洛谷P4168 [Violet]蒲公英 (分块)
- 习题 猜数字游戏提示