1、對那些安全敏感的信息,爲什麼用char[]存儲要優於String?
String是不可變的,這就意味着它一旦被創建,就將永久駐留在內存中,直到垃圾回收器將其回收爲止。然而用數組存儲方式,你可以明確地改變數組中的元素,因此用數組方式,安全信息將有可能不存在系統內存的任何地方。
2、能否用字符串來聲明switch語句?
JAVA 7及以後的版本是支持的。在JDK 7中,允許你使用字符串做switch語句的比較條件。jdk 6以前的版本,不能這樣使用:
// java 7 only!
switch (str.toLowerCase()) {
case "a":
value = 1;
break;
case "b":
value = 2;
break;
}
3、如何重複輸出字符串?
在Python中,我們只需要爲字符串乘上一個數字就可以重複輸出該字符串了。然而在Java中,我們可以用StringUtils的repeat()方法來實現,StringUtils是Apache公共語言庫的其中一個類庫成員。
String str = "abcd";
String repeated = StringUtils.repeat(str,3);
//abcdabcdabcd
4、如何統計指定字符在字符串中出現的頻率
同樣我們利用了Apache公共語言庫中的StringUtils,代碼如下:
int n = StringUtils.countMatches("11112222", "1");
System.out.println(n);
以上這10個關於Java字符串的問題,你遇到過多少?另外,你覺得還有哪些問題會對Java開發者產生困惑,評論中告訴我們,讓我們一起來探討。