課程
/后端開發
/Java
/Java入門第三季
為什么不是同一個
2015-08-20
源自:Java入門第三季 2-2
正在回答
s1是一個方法內部變量,在類加載、驗證、準備、解析、初始化等過程中是不會對s1變量進行正式賦值的,只有在使用時才對其進行初始化。 String是一個對象,s3、s4的變量賦值隱藏了一個初始化實例的過程String s3 = new String(),既然s3與s4是不同的實例對象,那么它們的內存地址也就不一樣了。當使用equals()方法時,s3與s4相等,是因為比較的是字符值而不是內存地址。
梁沖 提問者
舉報
Java中你必須懂得常用技能,不容錯過的精彩,快來加入吧
1 回答為什么s1是變量? ( // s1是變量,s4在運行時才知道具體值,所以s3和s4是不同的對象) 當時==時是比較兩個變量的地址?equals比較的是他們的內容值?
1 回答為什么s1是變量,運行時才知道具體值????
3 回答s1是變量,s4在運行時才知道具體值, 運行時指的是什么時候?。窟@里不是一行行運行的嗎?
2 回答我不理解:s1是變量,s4在運行時才知道具體值,所以s3和s4是不同的對象,在我的代碼中s3和s4應該是一樣的呀,還有就是“ //定義字符串s3,保存“I love”和s1拼接后的內容”到底應該怎樣寫呀?求答
3 回答為什么?s1==s2是true,s3==s4是false
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2015-08-20
s1是一個方法內部變量,在類加載、驗證、準備、解析、初始化等過程中是不會對s1變量進行正式賦值的,只有在使用時才對其進行初始化。 String是一個對象,s3、s4的變量賦值隱藏了一個初始化實例的過程String s3 = new String(),既然s3與s4是不同的實例對象,那么它們的內存地址也就不一樣了。當使用equals()方法時,s3與s4相等,是因為比較的是字符值而不是內存地址。