避免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的方法相关推荐

  1. 常见java空指针异常NPE

    总述 NPE(NullPointerException) 方法的返回值可以为null,不强制返回空集合,或者空对象等,必须添加注释充分说明什么情况下会返回 null 值. 防止NPE是调用者的责任:返 ...

  2. java带参数的方法笔记_具有Java参数的方法的类声明

    类声明可以包含在Java中具有参数的方法.演示此过程的程序如下: 示例class Message { public void messagePrint(String msg) { System.out ...

  3. java.util.Collections.synchronizedSet()方法的使用

    下面的例子显示java.util.Collections.synchronizedSet()方法的使用 package com.;import java.util.*;public class Col ...

  4. java -version cmd_java如何运行步骤cmd?Java执行cmd命令方法有哪些?

    写好一个java程序之后,我们的最终目的就是可以正确的运行程序,如果程序运行正确了,那么代码也就没有什么问题了,可是java如何运行步骤cmd?接下来,我们就来给大家讲解一下这方面的内容. 1.首先用 ...

  5. java反射 数组类,乐字节Java反射之三:方法、数组、类加载器和类的生命周期

    继续讲述Java反射之三:方法.数组.类加载器 一.方法 获取所有方法(包括父类或接口),使用Method即可. public static void test() throwsException { ...

  6. 转:JAVA常见错误处理方法 和 JVM内存结构

    OutOfMemoryError在开发过程中是司空见惯的,遇到这个错误,新手程序员都知道从两个方面入手来解决:一是排查程序是否有BUG导致内存泄漏:二是调整JVM启动参数增大内存.OutOfMemor ...

  7. java threadgourp_Java Thread getThreadGroup()方法

    Java Thread getThreadGroup()方法 java.lang.Thread.getThreadGroup() 方法返回此线程所属的线程组.它返回null,如果该线程已经死亡(停止) ...

  8. [zz] 深入java虚拟机之本地方法

    [zz] 深入java虚拟机之本地方法 转自:http://blog.csdn.net/sunxiaosunxiao/article/details/6829899 本地方法就是直接和硬件打交道的一个 ...

  9. JAVA中复制数组的方法

     在JAVA里面,可以用复制语句"A=B"给基本类型的数据传递值,但是如果A,B是两个同类型的数组,复制就相当于将一个数组变量的引用传递给另一个数组;如果一个数组发生改变,那么 ...

最新文章

  1. VTK:几何对象之ColoredLines
  2. 每日程序C语言36-数组中前面各数顺序向后移动m个位置
  3. 机器学习003-Kernel
  4. arcgis几何修复有作用吗_ArcGis拓扑的那些事儿(拓扑应用过程二)
  5. 安卓第一阶段实训项目:基于存储卡音乐播放器(更新中……)
  6. 30.Qt的内存管理
  7. “串标围标”,是如何被识破的?
  8. java一次性查询几十万,几百万数据解决办法
  9. android手机状态解释,比方android.os.Build.VERSION.SDK
  10. sublime3定制化为python3编辑利器。
  11. Atitit opencv 模板匹配
  12. git可视化工具小乌龟安装
  13. 金蝶eas怎么引出凭证_如何引出会计分录序时簿?
  14. Elaine的python初学习
  15. mysql explain不准确_mysql explain预估剖析
  16. 常用品牌交换机端口镜像(Port Mirroring)配置
  17. ORACLE 错误一览表
  18. 实践是检验真理的唯一标准!
  19. 【GAM全文翻译及代码实现】Global Attention Mechanism: Retain Information to Enhance Channel-Spatial Interactions
  20. 在Excel中如何让数字自动增长?

热门文章

  1. Arduino IDE入门编程
  2. 宿州学院对口招生计算机试卷题目,宿州学院2017年对口招生学前教育专业技能测试内容及评分标准...
  3. C# 使用反射调用方法_MethodInfo.Invoke方法
  4. Java 多线程 终止线程的4中方式
  5. 【手把手教你薅羊毛(新闻APP)】
  6. 艾媒直播行业报告出炉 花椒直播何以扩大领先优势?
  7. win7系统的计算机里没有扫描设备,Win7系统扫描仪添加方法
  8. ANDROID N 分屏设置
  9. 【题解】洛谷P4168 [Violet]蒲公英 (分块)
  10. 习题 猜数字游戏提示