java笔记(3):String(2)
生活随笔
收集整理的這篇文章主要介紹了
java笔记(3):String(2)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
java筆記(3):String(2)
參考資料:網易云網課李興華:http://study.163.com/course/courseMain.htm?courseId=1455026
一、字符串一旦定義不可改變
一開始也許并不太好理解,先觀察以下代碼
public class B { public static void main(String[] args) {String str = "Hello";str = str + "world";System.out.println(str);} }結果:
Helloworld以上代碼似乎主觀上覺得String內容不是改變了嗎,但并不是這樣的,下面通過內存圖分析
當執行str = str + “Word”語句時,原先指向“hello”的指針會斷開,重新指向“hello”與“world”所連接的字符串,并且之前的“hello”與“world”成了垃圾。也就是說,字符串內容并沒有改變,只是引用關系變了。
由于執行以上代碼會產生垃圾,如果頻繁使用“+”與字符串連接,所產生的垃圾的量也會是巨大的,會消耗大量資源,所以應當避免頻繁該操作。
二、String類的特點
(1)String類對象的相等判斷使用equal()方法完成,“==”實現的是地址數值的比較。
?(2)字符串內容一旦聲明則不可改變,String類對象內容的改變是依靠引用關系的改變實現的。
?(3)String類有兩種實例化方式,使用直接賦值可以不產生垃圾空間,并且可以自動入池,不要使用構造方法。
?
posted on 2018-04-07 20:19 辰歆 閱讀(...) 評論(...) 編輯 收藏轉載于:https://www.cnblogs.com/chenxina/p/8734548.html
總結
以上是生活随笔為你收集整理的java笔记(3):String(2)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: IDEA将Maven项目中src源代码下
- 下一篇: 关于Ajax 4-9