isEmpty和null以及""的区别

isEmpty和null的区别:
1.一个是对象为空(IsNull),一个是值为空(IsEmpty)
2.IsNull指任务类型变量是否为空包括对象类型的变量。
IsNull函数:
功能:返回Boolean的值,指明表达是否不包含任何有效数据。NULL表示的是数据值未知或不可用,它不表示零(数字值或二进制值)、零长度的字符串或空白(字符值)。
3.IsEmpty函数:
功能:用于判断一个变量是否已初始化,如果变量未初始化或显式地设置为Empty,则函数IsEmpty返回True;否则函数返回False。
  1. /** 
  2.  *  
  3.  */  
  4. package JavaTest;  
  5.   
  6. /** 
  7.  * @author wxwevenpc 
  8.  * @version 1.0 2012-11-25 
  9.  */  
  10. public class TestNull {  
  11.   
  12.     /** 
  13.      * @param args 
  14.      */  
  15.     public static void main(String[] args) {  
  16.         String a = new String();  
  17.         String b = "";  
  18.         String c = null;  
  19.         if(a.isEmpty())  
  20.         {  
  21.          System.out.println("String a = new String");  
  22.         }  
  23.         if(b.isEmpty())  
  24.         {  
  25.          System.out.println("String b = \"\"");  
  26.         }  
  27.         if(c==null)  
  28.         {  
  29.          System.out.println("String c =null");  
  30.         }  
  31.         if(null == a) {  
  32.             System.out.println("String a =null");  
  33.         }  
  34.         if(a=="")  
  35.         {  
  36.          System.out.println("a = ''");  
  37.         }  
  38.     }  
  39.   
  40. }  

以上输出:

[java]  view plain  copy
  1. String a = new String  
  2. String b = ""  
  3. String c =null  

分析:

[java]  view plain  copy
  1. 此时a是分配了内存空间,但值为空,是绝对的空,是一种有值(值存在为空而已)  
  2. 此时b是分配了内存空间,值为空字符串,是相对的空,是一种有值(值存在为空字串)  
  3. 此时c是未分配内存空间,无值,是一种无值(值不存在)  

你可能感兴趣的:(JAVA)