1. 程式人生 > >“”。null。isEmpty()的區別

“”。null。isEmpty()的區別

//分配記憶體空間,值為空
String a = new String();//代表有值,不是空字串也不是null但內容長度為0
//分配記憶體空間,值為空字串
String b = "";//為空字串並且內容長度為0
//未分配記憶體空間
String c = null;//代表不存在為空但不代表是空字串,也不代表長度為空,如果用isEmpty()判斷會報空指標異常

下面的是猜想或許正確或許錯誤,還沒查證,後面查資料再補充,希望評論區留言

從上面大概可以猜想下:null是用來判斷是否給堆中分配記憶體,如果沒有的話直接用isEmpty()判斷內容長度會報空指標異常;“”是判斷一個已經分配好記憶體並且內容為空字串的物件;isEmpty()判斷一個分配好記憶體的物件的長度是不是為0.