Java字符串問題盤點(JKD6) 如…

1、如何比較字符串,應該用”==”還是equals()?

  總的來說,”==”是用來比較字符串的引用地址,而equals()纔是比較字符串的值。兩個值相同的字符串用”==”比較結果有可能是false,而用equals()則一定爲true。除非兩個字符串是同一個new出來的對象,不然比較字符串值是否相同應該要用equals()。

2、對那些安全敏感的信息,爲什麼用char[]存儲要優於String?

  String是不可變的,這就意味着它一旦被創建,就將永久駐留在內存中,直到垃圾回收器將其回收爲止。然而用數組存儲方式,你可以明確地改變數組中的元素,因此用數組方式,安全信息將有可能不存在系統內存的任何地方。 

   

3、如何用空格字符來分割字符串?

  我們可以很方便地用正則表達式來分割字符串,”\s”表示空格字符,比如” “, “\t”, “\r”, “\n”

     String[] strArray = aString.split("\\s+");

 

4、String、StringBuilder和StringBuffer哪個更優?

  String和StringBuilder:StringBuilder是可變的,也就是說用StringBuilder創建的字符串你可以隨時改變它。StringBuilder和StringBuffer:StringBuffer是同步的,它是線程安全(thread-safe)的,但效率要比StringBuilder差得多。



 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章