天天看點

Java空字元串與null差別

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   ,如需轉載請自行聯系原作者