Java优雅代码--String容错处理 NullPointerException
来源:互联网 发布:驾照金手指软件下载 编辑:程序博客网 时间:2024/06/10 15:02
String name; if (name.equals("") {} 如何避免空指针错误NullPointerException?
下面是应用场景:
record.getName() 返回一个String类型的变量name
这个name可能是null
发现有程序员写了这样一段代码
下面这种写法就容易报NullPointerException 下面这种就是一种严重错误的写法, 当name=null的时候,下面的句中 name.equals("")被执行的时候,就会运行异常(因为null对象根本不可能有equal方法可调用),
根本不会进行name == null的判断。 导致程序崩溃
public class ContactsService {
String name = record.getName();// 若name本身为空字符串,则传值nameEnif (name.equals("") || name == null) { dto.setName(record.getNameEn());} else {
dto.setName(record.getName());
}
改成下面的,就不会发生异常
String name = record.getName(); // 若name本身为空字符串,则传值nameEnif (name == null || name.equals("")) { dto.setName(record.getNameEn()); } else { dto.setName(record.getName());
}
但是,还有一个问题,如果name为空格字符串呢? 需要trim()操作
下面是Frank的优雅代码。保证任何情况下都不会NullPointerException!
public class ContactsService {// 若name本身为空字符串,则传值nameEnString name = record.getName();name = name == null ? "" : name.trim();if (name.equals("")) { dto.setName(record.getNameEn()); } else { dto.setName(record.getName());
}
0 0
- Java优雅代码--String容错处理 NullPointerException
- Java String 对 null 对象的容错处理
- Java String 对 null 对象的容错处理
- Java String 对 null 对象的容错处理
- Java String 对 null 对象的容错处理
- 处理 java.lang.NullPointerException问题
- javascript 容错处理代码(屏蔽js错误)
- javascript 容错处理代码(屏蔽js错误)
- javascript 容错处理代码(屏蔽js错误)
- String.equals报java.lang.NullPointerException
- Java异常处理--更优雅的处理
- 3.java.lang.NullPointerException异常处理方法
- java.lang.NullPointerException错误及其处理方式
- 避免NullPointerException之Java高效代码
- 如何优雅的处理异常(java)
- 如何写出优雅的java代码
- Java代码优雅之道-Guava
- Java代码优雅之道-Guava
- 为什么到北上广深
- QTcpSocket使用过程中的一些问题记录
- 浅谈Dialog样式Activty
- Java数组
- iOS中关于(null)和<null>的处理
- Java优雅代码--String容错处理 NullPointerException
- sublime安装html头部补全插件安装
- 构造方法
- JQAjax
- c++学习(四)——迭代器的介绍及使用
- Activity 的显式调用与隐式调用
- BZOJ 1231 状压DP
- Android 开发环境下载地址 -- 百度网盘 adt-bundle android-studio sdk adt 下载
- 关于在Android Studio中使用Assets目录下的资源的问题