<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                http://www.importnew.com/7174.html 本文由?[ImportNew](http://www.importnew.com/)?-?[邢 敏](http://www.importnew.com/author/xingmin)?翻譯自?[programcreek](http://www.programcreek.com/2013/09/top-10-faqs-of-java-strings/)。歡迎加入[翻譯小組](http://group.jobbole.com/category/feedback/trans-team/)。轉載請見文末要求。 以下是10個最常見的Java字符串問題。 **1、如何比較字符串?使用“==”還是使用equals() ?** 簡單地說,“==”測試引用同一地址,而equals()測試值是否相等。除非需要檢查兩個字符串是否是同一個對象,否則應該總是使用equals()方法。 如果你知道字符串駐留([string interning](http://www.programcreek.com/2013/04/why-string-is-immutable-in-java/))的概念的就更好了。 *譯注:字符串駐留是指為每個獨立的String值只保留一個不可改變的拷貝,詳細解釋可參見[String interning詞條](http://en.wikipedia.org/wiki/String_interning)。* **2、為什么為在處理私密信息的時候,選擇char [ ]比String好?** String是不可改變的。這意味著一旦String對象被創建,那個地址上的值將保持不變,直到垃圾收集器有空來做自動清理。而使用char[ ]可以(在用完后)明確地修改它的元素。這種一來,私密信息(例如密碼)就不會在系統的任何地方出現。 **3、我們可以在switch語句中用String作分支條件嗎?** 從JDK 7開始是可以的。我們可以使用String符串作為Switch條件。第JDK 6之前,我們不能使用String作為Switch條件。 | 1 2 3 4 5 6 7 8 9 | `// java 7 only!` `switch` `(str.toLowerCase()) {` `case` `"a"``:` `value =` `1``;` `break``;` `case` `"b"``:` `value =` `2``;` `break``;` `}` | **4 、如何轉換String為int?** | 1 | `int` `n = Integer.parseInt(``"10"``);` | 調用很簡單,使用如此頻繁以致有時會被忽略。 **5 、如何用空白符分割字符串?** 可以簡單地使用正則表達式做分割。“ \s ”代表所有空格符,如“ ”、 “ \ ”、 “ \ r”、“ \ n ”。 | 1 | `String[] strArray = aString.split(``"\\s+"``);` | **6 、substring() 具體干了些什么?** 在JDK 6中,substring() 提供了一個顯示已有字符串char[]的接口,但不創建新字符串。如果需要創建一個新的char[]表示的字符串,可以像下面一樣與一個空字符串相加: | 1 | `str.substring(m, n) +` `""` | 這樣會創建一個新的字符數組,表示新的字符串。示例方法有時可以使代碼運行更快,因為垃圾收集器可以收集未使用的大字符串只保留子串。 在Oracle JDK 7中 ,substring()會創建一個新的字符數組而不是使用現有的。點擊這個[鏈接](http://www.programcreek.com/2013/09/the-substring-method-in-jdk-6-and-jdk-7/)有圖解說明JDK 6和JDK 7的substring()之間的差異。 **7、String vs StringBuilder vs StringBuffer** * String 與StringBuilder的區別:StringBuilder的是可變的,這意味著可以在創建以后再作修改。 * StringBuilder與StringBuffer的區別: StringBuffer的是同步的,這意味著它是線程安全的,但速度比StringBuilder慢。 **8、如何重復一個字符串?** 在Python中,我們可以乘以一個數字來重復字符串。在Java中,我們可以使用Apache公共語言包(Apache Commons Lang package)中的repeat()。 | 1 2 3 | `String str =` `"abcd"``;` `String repeated = StringUtils.repeat(str,``3``);` `//abcdabcdabcd` | **9、如何轉換字符串為日期?** | 1 2 3 4 | `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: | 1 2 | `int` `n = StringUtils.countMatches(``"11112222"``,` `"1"``);` `System.out.println(n);` | **附加題** 你知道[如何檢測一個字符串是否只包含大寫字母嗎](http://www.programcreek.com/2011/04/a-method-to-detect-if-string-contains-1-uppercase-letter-in-java/)?
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看