Java中null、0、""的区别

2019-05-08 07:36:57来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

1 null

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

Object o = null; 

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

 

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

 

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:是用来判断引用类型是否分配了存储空间 

 ""  :是针对字符串的; 
 */

  

  

 

以上,吼吼

 


原文链接:https://www.cnblogs.com/sunchunmei/p/10828119.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:SimpleDateFormat格式化日期

下一篇:Java中成员变量的默认值