Java中避免空指针的几个方法
equals
Object类中的equals 方法在非空对象引用上实现相等关系,具有对称性
x.equals(y) 和 y.equals(x) 结果是一样的,但当x == null时会抛出空指针异常
例如:
String x = null;
String y = "world";
if(x.equals(y)){ // java.lang.NullPointerException
}
所以我们要把确定不为null的对象或值放在前面
valueOf()和toString()
调用null对象的toString()会抛出空指针异常,使用valueOf()可以获得相同的值,传递一个null给valueOf()将会返回null
例如:
Integer i = null;
System.out.println(i.toString()); // 抛出NullPointerException异常
System.out.println(String.valueOf(i)); // 返回null 不会出现异常
接口返回值
接口返回对象做非空判断,集合或数组可返回空集合或空数组,避免返回null
作者:itmyhome
Java中避免空指针的几个方法的更多相关文章
- java中获取日期和时间的方法总结
		
1.获取当前时间,和某个时间进行比较.此时主要拿long型的时间值. 方法如下: 要使用 java.util.Date .获取当前时间的代码如下 Date date = new Date(); da ...
 - java中遍历map对象的多种方法
		
在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有ma ...
 - java中常用的字符串的截取方法
		
java中常用的字符串的截取方法 1.length() 字符串的长度 例:char chars[]={'a','b'.'c'}; String s=new String(chars); int l ...
 - Java中的五种单例模式实现方法
		
[代码] Java中的五种单例模式实现方法 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 2 ...
 - 谈谈java中遍历Map的几种方法
		
java中的map遍历有多种方法,从最早的Iterator,到java5支持的foreach,再到java8 Lambda,让我们一起来看下具体的用法以及各自的优缺点 先初始化一个map public ...
 - Java中产生随机数的两个方法
		
Java中产生随机数的两个方法 一.利用random方法来生成Java随机数. 在Java语言中生成Java随机数相对来说比较简单,因为有一个现成的方法可以使用.在Math类中,Java语言提供了一个 ...
 - Java中创建数组的几种方法
		
Java中创建数组的几种方法 public static void main(String[] args) { //创建数组的第一种方法 int[] arr=new int[6]; int intVa ...
 - Java中遍历map的四种方法 - 转载
		
在Java中如何遍历Map对象 How to Iterate Over a Map in Java 在java中遍历Map有不少的方法.我们看一下最常用的方法及其优缺点. 既然java中的所有map都 ...
 - JAVA中生成指定位数随机数的方法总结
		
JAVA中生成指定位数随机数的方法很多,下面列举几种比较常用的方法. 方法一.通过Math类 public static String getRandom1(int len) { int rs = ( ...
 
随机推荐
- 搭建gogs
			
https://blog.csdn.net/hwm_life/article/details/82969005 服务器环境 CentOS 7 64位 安装Gogs所需的其它环境 需要安装的依赖有Ngi ...
 - Android 开发者文档 -- 应用基础知识
			
https://developer.android.com/guide/components/fundamentals 应用基础知识 Android 应用采用 Java 编程语言编写.Android ...
 - 【Leetcode】Reorder List
			
Given a singly linked list L: L0→L1→…→Ln-1→Ln,reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→… You must do thi ...
 - 基础篇:6.7)形位公差-检测方法Measurement
			
本章目的:了解行为公差的检测方法,简单评估公司和制作方的检测能力. 1.形位公差检测规定 形状和位置公差检测规定GB/T 1958 -2004 2.形位公差的种类 3.形位公差的测量仪器 人工测量仪器 ...
 - springcloud(二)-最简单的实战
			
技术储备 Spring cloud并不是面向零基础开发人员,它有一定的学习曲线. 语言基础:spring cloud是一个基于Java语言的工具套件,所以学习它需要一定的Java基础.当然,sprin ...
 - google hack使用集锦
			
转载:https://blog.csdn.net/weixin_42127015/article/details/84472777 关于google hack的几个基础过滤器使用[请务必谨记,过滤器虽 ...
 - $bzoj1011-HNOI2008$ 遥远的行星 其他
			
题面描述 直线上\(N\)颗行星,\(X=i\)处有行星\(i\),行星\(j\)受到行星\(i\)的作用力,当且仅当\(i<=A_j\).此时J受到作用力的大小为\(F_{i\to j}=\f ...
 - Ionic3,组件的使用(四)
			
说明 因为同样是作为 Ionic3 小白,所以很多东西都是自己摸索出来的,可能有很多不合理的地方,请多多指正. 效果图 细节说明 一:组件.页面均采用 懒加载: 二:页面的头部标题栏,采用了组件化的方 ...
 - 怎么高效查找和正确改变谷歌浏览器编码格式(新版和旧版Google Chrome)(图文详解)
			
前言 今天,无意中在解决一个乱码问题,后台是有过判断解决兼容性问题,但是有个别电脑还是有乱码问题,就去想改变下前台的编码格式,突然发现一向好用的谷歌,居然找不到编码格式了! 上网百度了半天,查阅各种网 ...
 - 【随笔】 Win7下安装Git
			
Git GGit是一个开源的分布式版本控制系统,用以有效.高速的处理从很小到非常大的项目版本管理.[2] Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源 ...