再澄清一個概念:
如果str==null說明str還未定義內容。此時,談不上是否為空。
str="",說明str是個空字符串。只不過長度為0。
------------------------------------------------------------------------------------------------------
1 String s; 2 if(s==null) { 3 //為null; 4 } 5 if(s.equals("")) { 6 //為空字符串; 7 } 8 if(s.length()==0) { 9 //為空字符串; 10 }
==是用來判斷對象句柄地址的。說明s還未定義內容。此時,談不上是否為空。
equal是用來判斷句柄內容的。
想要實現equal的效果可以使用這樣
s.intern=="".intern