課程
/后端開發
/Java
/Java入門第三季
請問String s1="imooc";
與String s2=new String("imooc");有什么區別?
2015-09-21
源自:Java入門第三季 2-2
正在回答
汗 上面說的有點問題 ?回復不能刪除
String s1 ="imooc"; 是講s1指向堆內存中的字符串常量"imooc";
而String s2=new String("imooc") 是在堆內存中開辟一個對象,對象中有一個變量記錄的字符串是"imooc",s2指向這個對象
可以這么理解上面一個是將s1指向堆內存中的"imooc"變量,如果堆內存中已經有這個字符串了,s1就會直接指向這個字符串,沒有則會新建一個
下面這行通過new關鍵字 在堆內存中新開辟一個空間,空間中有個字符串為"imooc"
每當你new 一次,堆內存中就會開辟一個新空間,
舉報
Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧
2 回答關于==判斷內存地址一只的問題
1 回答關于堆內存對象存儲
2 回答關于catch括號內代碼的問題
2 回答關于Java的內存方面不是很清楚
1 回答關于parse()內文本格式問題
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-09-21
汗 上面說的有點問題 ?回復不能刪除
String s1 ="imooc"; 是講s1指向堆內存中的字符串常量"imooc";
而String s2=new String("imooc") 是在堆內存中開辟一個對象,對象中有一個變量記錄的字符串是"imooc",s2指向這個對象
2015-09-21
可以這么理解上面一個是將s1指向堆內存中的"imooc"變量,如果堆內存中已經有這個字符串了,s1就會直接指向這個字符串,沒有則會新建一個
下面這行通過new關鍵字 在堆內存中新開辟一個空間,空間中有個字符串為"imooc"
每當你new 一次,堆內存中就會開辟一個新空間,