Java空字元串與null差別:
1、類型
null表示的是一個對象的值,而并不是一個字元串。例如聲明一個對象的引用,String a = null ;
""表示的是一個空字元串,也就是說它的長度為0。例如聲明一個字元串String str = "" ;
2、記憶體配置設定
String str = null ; 表示聲明一個字元串對象的引用,但指向為null,也就是說還沒有指向任何的記憶體空間;
String str = ""; 表示聲明一個字元串類型的引用,其值為""空字元串,這個str引用指向的是空字元串的記憶體空間;
在java中變量和引用變量是存在棧中(stack),而對象(new産生的)都是存放在堆中(heap):
就如下:
String str = new String("abc") ;
ps:=左邊的是存放在棧中(stack),=右邊是存放在堆中(heap)。
3、示例程式:
<a></a>
通過如上的程式可以得出如下結論:
字元串對象與null的值不相等,且記憶體位址也不相等;
空字元串對象與null的值不相等,且記憶體位址也不相等;
建立一個字元串對象的預設值為""
本文轉自一米一陽光部落格園部落格,原文連結: http://www.cnblogs.com/candle806/archive/2013/01/17/2864917.html ,如需轉載請自行聯系原作者