Java中String类的concat方法___java的String字符串的concat()方法连接字符串和“+“连接字符串解释
生活随笔
收集整理的這篇文章主要介紹了
Java中String类的concat方法___java的String字符串的concat()方法连接字符串和“+“连接字符串解释
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Java中String類的concat方法
在了解concat()之前,首先需要明確的是String的兩點特殊性。
- 長度不可變
- 值不可變
這兩點從源碼中對String的聲明可以體現:
其中final對應值的不可更改的特性;而char[]對應String是長度不可更改的特性。
因此,當我們對String進行拼接后,產生的應該是一個新的字符串。
對于這一點,我們可以對concat()進行源碼的解讀得出同樣的結論。
源碼分析:
concat()方法首先獲取拼接字符串的長度,判斷這個字符串長度是否為0(判斷這個用來拼接的字符串是不是空串),如果是就返回原來的字符串(等于沒有拼接);否則就獲取源字符串的長度,創建一個新的char[]字符數組,這個字符數組的長度是拼接字符串的長度與源字符串的長度之和,通過Arrays類的copyOf方法復制源數組,然后通過getChars方法將拼接字符串拼接到源字符串中,然后將新串返回。
API中也對這個方法進行了解釋:
- 如果參數字符串的長度為 0,則返回此 String 對象。
- 否則,創建一個新的 String對象,用來表示由此 String 對象表示的字符序列和參數字符串表示的字符序列連接而成的字符序列。
綜上,當對String對象進行拼接時,會創建一個新的字符串來存儲新串。
String字符串的concat()方法源碼分析
1.java提供了“+”運算符能進行字符串的連接操作。
- API里提供的是:
- 首先,string類型是不可變的,所以,通過StringBuffer或者StringBuilder對象實現了字符串的拼接。通過創建StringBuffer或者StringBuilder對象,然后調用其中的append()方法,得到一個拼接后的StringBuffer或者StringBuilder對象,最后調用toString()方法,返回得到的String對象的地址值。
舉例圖解:
2.concat()方法源碼分析
- 源碼:
總結
以上是生活随笔為你收集整理的Java中String类的concat方法___java的String字符串的concat()方法连接字符串和“+“连接字符串解释的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java基础day4
- 下一篇: Java基础day5