Java字串的前10個問題
夥伴們注意了!
小編在這裡給大家送上關注福利:
搜尋微訊號“suxueJava”即可領取小編精心準備的資料一份!
以下是關於Java字串的10個常見問題。
1.如何比較字串?使用“==”或使用equals()?
簡單地說,“==”測試引用是否相等,而equals()測試值是否相等。
除非您想檢查兩個字串是否是相同的物件,否則應該始終使用equals()。
如果你知道字串實習的概念就更好了。
2. 為什麼對於安全敏感資訊,char[]優先於String ?
字串是不可變的,這意味著一旦建立了它們,它們將保持不變,直到垃圾收集器開始工作。
對於陣列,可以顯式地更改其元素。
這樣,安全敏感資訊(例如:
密碼)將不會出現在系統的任何地方。
3.我們可以為switch語句使用字串嗎?
是的,版本7。
從JDK 7中,我們可以使用字串作為切換條件。
在版本6之前,我們不能使用字串作為切換條件。

4. 如何將字串轉換成整數?

簡單,但經常使用,有時被忽略。
5. 如何分割一個字串與空白字元?

6. substring()方法真正的功能是什麼?
在JDK 6中,substring()方法為表示現有字串的字元陣列提供一個視窗,但不建立新字串。要建立一個由新char陣列表示的新字串,可以新增一個空字串,如下所示

這將建立一個表示新字串的新char陣列。上面的方法有時可以使程式碼更快,因為垃圾收集器可以收集未使用的大字串,只保留子字串。
在Oracle JDK 7中,substring()建立一個新的char陣列,而不是使用現有的陣列。檢視一下顯示JDK 6和JDK 7之間的substring()差異的圖表。
7. String vs StringBuilder vs StringBuffer
String vs StringBuilder: StringBuilder是可變的,這意味著您可以在建立它之後修改它。
StringBuilder與StringBuffer: StringBuffer是同步的,這意味著它是執行緒安全的,但比StringBuilder慢。
8. 如何重複字串?
在Python中,我們可以用數字相乘來重複一個字串。
在Java中,我們可以使用來自Apache Commons Lang包的StringUtils的repeat()方法。

9. 如何將字串轉換為日期?

10.如何計算字元在字串中出現的次數?
使用來自apache commons lang的StringUtils。

最後,想學習Java的小夥伴們!
關注 “ 速學java ” 公眾號就可以拿到一份我為大家準備的Java學習資料!
對Java感興趣的小夥伴也可以加 小編V❤: suxuejava
