Java中null、0、""的区别
1 null
1.1 Java中,null是一个关键字,用来标识一个不确定的对象,通常用来声明一个空引用
Object o = null; /* 表示引用类型对象o是一个空引用,并没有指向任何堆内存空间,所以如果此时调用了它的方法,就会抛出一个NullPointerException异常。 */
int[] array = null; //数组为空,此时array不指向任何对象;
SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。
String[] array = new String[2]; //定义一个长度为2的数组,array指向new String对象。此时数组没有被初始化,默认的值为null;
注意:java的数组变量是一种引用类型的变量,数组变量并不是数组本身,它存储在栈内存中,只是指向堆内存中的数组对象.
1.2 判断对象是否为空
Object o; if( o == null){ }
2 0
2.1
基本数据类型中的整型变量初始化为 0
数组:
int[] array = new int[0]; // array指向一个长度为0的数组,即空数组; int[] array = new int[2]; //定义一个长度为2的数组,此时如果数组没有被初始化,默认的值为0;
2.2 判断是否为0
int i; if(i==0){ }
3 ""
3.1
Object o = ""; /* 表示对象o分配了内存空间,存在值,值为空字符串,此时调用它的方法是安全的。 */
3.2 判断是否为 ''
Object o; if( o == ""){ }
4 常用技巧
4.1 判断数组是否为空
/* 先判断 array 是否为空,再判断长度是否为0,因为可能报空指针异常 && 两者都满足,才进行if里面操作 */ int[] array = new int[2]; if( array !=null && array.length != 0){ }
4.2 判断字符串是否为空
参考:https://www.cnblogs.com/x_wukong/p/3619221.html
//在实际处理时,往往认为""和null代表相同的含义,即都代表无值。 String a; if(a==null || a=="") { } /* || 如果a为null,就不会执行后面的判断,直接返回true。 null:是用来判断引用类型是否分配了存储空间 "" :是针对字符串的; */
以上,吼吼

更多精彩