課程
/后端開發
/Java
/Java入門第三季
String?s; String?s1=null; String?s2=new?String(); String?s3=new?String("");
比如說定義的這四個變量之間有什么不同?
2017-03-29
源自:Java入門第三季 2-2
正在回答
當聲明為String??s1時;
聲明一個字符串對象,分配了一個內存空間,沒有進行初始化,沒有存入任何對象。
當聲明為String??s2?=?null時;
聲明一個字符串對象,分配了一個內存空間,進行初始化,存入了一個空對象,值為空。
當聲明為String??s3?=?new??String 時;
聲明一個字符串對象,分配了一個內存空間,沒有進行初始化,是在堆中創建一個字符串對象,
并把引用放在棧中指向他的首地址。
當聲明為String??s4?=?new??String("" )?時;
聲明一個字符串對象,分配了一個內存空間,初始化,存了一個字符串對象
是在堆中創建一個字符串對象,并把引用放在棧中指向他的首地址。
String s ;該語句表示只是聲明了一個引用變量,但是并沒有初始化引用,所以對變量s的任何操作(除了初始化賦值外) 都將引發異常. String s=null; 表示未申請任何內存資源,即些語句表示聲明了一個引用變量并初始化引用,但是該引用沒有指向任何對象.但可以把它作為參數傳遞或其它使用,但是不能調用它作為對象的方法
舉報
Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧
2 回答String str="慕課網"; 與String str2=new String("慕課網"); 兩者之間有什么區別?
2 回答string和stringBuilder有什么區別
3 回答String和StringBuilder的區別
2 回答string類型問題
3 回答String類型轉化成int類型
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-03-30
當聲明為String??s1時;
聲明一個字符串對象,分配了一個內存空間,沒有進行初始化,沒有存入任何對象。
當聲明為String??s2?=?null時;
聲明一個字符串對象,分配了一個內存空間,進行初始化,存入了一個空對象,值為空。
當聲明為String??s3?=?new??String 時;
聲明一個字符串對象,分配了一個內存空間,沒有進行初始化,是在堆中創建一個字符串對象,
并把引用放在棧中指向他的首地址。
當聲明為String??s4?=?new??String("" )?時;
聲明一個字符串對象,分配了一個內存空間,初始化,存了一個字符串對象
是在堆中創建一個字符串對象,并把引用放在棧中指向他的首地址。
2017-03-30
String s ;該語句表示只是聲明了一個引用變量,但是并沒有初始化引用,所以對變量s的任何操作(除了初始化賦值外) 都將引發異常.
String s=null; 表示未申請任何內存資源,即些語句表示聲明了一個引用變量并初始化引用,但是該引用沒有指向任何對象.但可以把它作為參數傳遞或其它使用,但是不能調用它作為對象的方法