1、類型
null表示的是一個對象的值,而并不是一個字元串。
例如聲明一個對象的引用,String a = null ;
""表示的是一個空字元串,也就是說它的長度為0,但它是一個字元串。
例如聲明一個字元串String str = “” ;
2、記憶體配置設定
String str = null ; 表示聲明一個字元串對象的引用,但指向為null,也就是說還沒有指向任何的記憶體空間;
String str = “”; 表示聲明一個字元串類型的引用,其值為""空字元串,這個str引用指向的是空字元串的記憶體空間;
“” :配置設定了記憶體 ,配置設定了一個空間
null :未配置設定記憶體
" " :配置設定了記憶體,配置設定了一個空間
string str1 = ""; //空字元串 str1.length() 等于 0
string str2 = null; //NULL
string str3 = " "; //空格串 str2.length() 等于 1
在java中變量和引用變量是存在棧中(stack),而對象(new産生的)都是存放在堆中(heap):