亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

String類型的null,String(),String("");之間有什么區別?

String?s;
String?s1=null;
String?s2=new?String();
String?s3=new?String("");

比如說定義的這四個變量之間有什么不同?

正在回答

2 回答

當聲明為String??s1時;

聲明一個字符串對象,分配了一個內存空間,沒有進行初始化,沒有存入任何對象。

當聲明為String??s2?=?null時;

聲明一個字符串對象,分配了一個內存空間,進行初始化,存入了一個空對象,值為空。

當聲明為String??s3?=?new??String 時;

聲明一個字符串對象,分配了一個內存空間,沒有進行初始化,是在堆中創建一個字符串對象,

并把引用放在棧中指向他的首地址。

當聲明為String??s4?=?new??String("" )?時;

聲明一個字符串對象,分配了一個內存空間,初始化,存了一個字符串對象

是在堆中創建一個字符串對象,并把引用放在棧中指向他的首地址。


3 回復 有任何疑惑可以回復我~

String s ;該語句表示只是聲明了一個引用變量,但是并沒有初始化引用,所以對變量s的任何操作(除了初始化賦值外) 都將引發異常.
String s=null; 表示未申請任何內存資源,即些語句表示聲明了一個引用變量并初始化引用,但是該引用沒有指向任何對象.但可以把它作為參數傳遞或其它使用,但是不能調用它作為對象的方法


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

String類型的null,String(),String("");之間有什么區別?

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號