java字符串10_排名前10的Java字符串问题
下面是Java字符串10個經常被問到的問題。
1.怎樣比較字符串,使用"=="還是equals()?
簡而言之,"=="測試引用是否相同,而equals()測試字符串的值是否相同。除非你想要檢查兩個字符串是否是同一個對象,否則你應該使用equals()。
2.對于安全敏感的信息,為什么char[]要優于String?
字符串是不可變的,這意味著一旦它們被創建,它們將保持不變,知道垃圾回收器將其回收。使用數組,你可以明確地改變它的元素。用這種方法,安全敏感信息(比如密碼)將不會在系統的任何地方出現。
3.我們可以在switch語句中使用字符串嗎
對于JDK7是這樣的,從JDK7開始,我們可以使用字符串作為switch語句的條件,此前的版本中我們不能如此。
// java 7 only!
switch (str.toLowerCase()) {
case "a":
value = 1;
break;
case "b":
value = 2;
break;
}
4.怎樣將string轉換成int
int n = Integer.parseInt("10");
簡單常用,但時常會被忽視。
5.怎樣將字符串用空格符分開
我們可以簡單地使用正則表達式,"\s"是指" ","\t","\r","\n"這樣的空白字符。
String[] strArray = aString.split("\\s+");
6.substring()方法到底做了什么
在JDK 6中,一系列字符代表已存在的字符串,substring()方法為這些字符提供一個窗口,但并不創建一個新的字符串,為了創建一個新的由新的字符代表的字符串,你可以加上一個空的字符串,就像這樣:
str.substring(m, n) + ""
這樣就會創建一個新的由字符數組代表的字符串,上面的方法有時候可以讓你的程序運行速度更快,因為垃圾回收器可以回收不被使用的大字符串,并且只保留其子字符串。
在JDK 7中,substring()創建一個新的字符數組,而不是使用現有的這個。
7.String StringBuilder StringBuffer
String與StringBuilder比較:StringBuilder是可變的,這意味著在創建之后你可以修改它。
StringBuilder與StringBuffer比較:StringBuffer是同步的,這意味著它是線程安全的,但是比StringBuider要慢。
8.怎樣重復一個字符串
在Python中我們可以乘上一個數字來重復字符串,在Java中我們可以使用來自Apache的公共語言庫的StringUtils的repeat()方法。
String str = "abcd";
String repeated = StringUtils.repeat(str,3);
//abcdabcdabcd
9.怎樣將字符串轉為日期
String str = "Sep 17, 2013";
Date date = new SimpleDateFormat("MMMM d, yy", Locale.ENGLISH).parse(str);
System.out.println(date);
//Tue Sep 17 00:00:00 EDT 2013
10.如何計算一個字母在字符串中出現的次數
使用來自apache公共語言庫的StringUtils。
int n = StringUtils.countMatches("11112222", "1");
System.out.println(n);
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的java字符串10_排名前10的Java字符串问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java Date days_Java中
- 下一篇: java 自定义文件后缀名_Java 的