isEmpty,null和""區別


很簡單,我們以String類型為例:

① String a;
② String b="";
③ String c=null;
④ String A=new String();
  A.isEmpty();

①是聲明了一個string類型的 a,即沒有再申請內存地址,更沒有指向引用地址;
②是聲明一個String類型的引用,其值為""空字符串,這個b引用指向的是空字符串的內存空間;
③是聲明一個字符串對象的引用,沒有指向任何的內存空間。null是一個沒有空間的對象(未實例化的對象),③和①的區別就是: ③有引用,①沒有。

我們看一下④的api

它的意思就是首先必須要有返回值,其次它的長度必須是0.


此時A的狀態是實例化了對象,但是沒有值。(為a分配了內存空間,還沒有給它塞數據)

我們畫個圖來更直觀的看一下
首先看b的

這個a和c的圖我感覺應該是這個樣子的

我們再看看b和A

b和A都是分配了內存空間,值好像都為"",是不是這個樣子呢?
是的。A和b的值是一樣的,它們的內存地址不一樣。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM