您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關Java面試中有哪些關于String類的面試題,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。
1.比較兩個字符串時使用“==”還是equals()方法?
當然是equals方法。“==”測試的是兩個對象的引用是否相同,而equals()比較的是兩個字符串的值是否相等。簡單來說,基本數據類型都可以使用==。而引用類型使用==比較不了。
2.如何將字符串轉化成int?
使用包裝類Integer。Integer.valueOf("2");其他基本數據類型都是類似
3.為什么在Java中存儲密碼要使用char[],而不使用String。
因為String是不可變的,當String創建之后,就不會再改變了。而char[]是可變的,程序員在用完之后可以將其改變,不會留下任何原始數據。所以,在使用密碼時,一般都是會用char數組,例如JavaSwing中的JPassWordField,獲取密碼框的值就是使用char數據。而不使用String。
4.String可以在Switch語句中使用嗎?
JDK1.7之后確實可以了。之前不行。需要程序員對JDK升級的API有適當的了解。
5.如何將字符串用空白字符分割開
可以使用正則表達式來做到分割字符。“\s”代表空白字符” “, “\t”, “\r”, “\n”等等, String[] strArray = str.split("\\s+");
6.substring()方法到底做了什么?
因為String是不可變的,所以在字符串截取時,subString做了一些工作。在JDK6時,用一個字符數組來表示現存的字符串,然后在這個字符數組中截取字符串,截取之后,并沒有創建新的字符數組。而在JDK7中,截取的新的字符串是一個新的數組,這樣效率更快一些。因為垃圾回收器會去回收不再使用的字符串。
7.如何將字符串轉換成時間Date?
使用SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date date =sdf.parse("2017-12-10");
8.字符串對象String,StringBuilder ,StringBuffer之間的區別?
String不可變的,其余兩個為可變的,也就是可以自由增加或者刪除字符串。
StringBuilder 和StringBuffer,前者是線程不安全的,后者是線程安全的。理論上StringBuilder 效率更高。
字符串大量拼接時,建議使用StringBuilder ,StringBuffer。
9.計算一個字符串某個字符的出現次數
a, 使用charAt方法截取之后,循環判斷.
b, 使用apache commons lang包中的StringUtils:
int n = StringUtils.countMatches("ababababab", "a"); System.out.println(n);
10.如何使一個字符串重復N次。
API提供了一個非常好的方法。String str = "ab";
String repeated = StringUtils.repeat(str,3);//輸出的結果是ababab,三次重復.
關于Java面試中有哪些關于String類的面試題就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。