當前位置:
首頁 > 知識 > Java常用類String的面試題匯總

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」代表空白字元」 「, 「 」, 「
    」, 「
    」等等, 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的同學注意了!!!

學習過程中遇到什麼問題或者想獲取學習資源的話,歡迎加入Java學習交流群495273252,我們一起學Java!

Java常用類String的面試題匯總

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Java團長 的精彩文章:

Java程序員常犯的10個錯誤
談談Java中遍歷Map的幾種方法
其實,我只想安靜的寫寫代碼……
Java線程池入門必備
Java進階自測——面向對象基礎知識掌握了嗎?

TAG:Java團長 |