Java中null、0、""的区别

1 null
1.1 Java中,null是一个关键字,用来标识一个不确定的对象,通常用来声明一个空引用
Object o = null;

/*
表示引用类型对象o是一个空引用,并没有指向任何堆内存空间,所以如果此时调用了它的方法,就会抛出一个NullPointerException异常。
*/

1
int[] array = null; //数组为空,此时array不指向任何对象;

1
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 “”
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 判断字符串是否为空

//在实际处理时,往往认为""和null代表相同的含义,即都代表无值。

String a;
if(anull || a"")
{
}
/*
 || 如果a为null,就不会执行后面的判断,直接返回true。

null:是用来判断引用类型是否分配了存储空间

“” :是针对字符串的;
*/
  
深圳网站建设:https://www.sz886.com

猜你喜欢

转载自blog.csdn.net/chenmh12/article/details/89950510