1、類型
null表示的是一個對象的值,而并不是一個字符串。例如聲明一個對象的引用,String a = null ;
""表示的是一個空字符串,也就是說它的長度為0。例如聲明一個字符串String str = "" ;
2、內(nèi)存分配
String str = null ; 表示聲明一個字符串對象的引用,但指向為null,也就是說還沒有指向任何的內(nèi)存空間;
String str = ""; ? ?表示聲明一個字符串類型的引用,其值為""空字符串,這個str引用指向的是空字符串的內(nèi)存空間;
在java中變量和引用變量是存在棧中(stack),而對象(new產(chǎn)生的)都是存放在堆中(heap):