<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智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # Java - `String`類及其方法 > 原文: [https://beginnersbook.com/2013/12/java-strings/](https://beginnersbook.com/2013/12/java-strings/) **字符串**是一系列字符,例如`"Hello"`是一個包含 5 個字符的字符串。在 java 中,字符串是一個不可變對象,這意味著它是常量,一旦創建就無法更改。在本教程中,我們將詳細了解`String`類和`String`方法以及許多其他 Java `String`教程。 ## 創建一個字符串 有兩種方法可以在 Java 中創建`String` 1. 字符串字面量 2. 使用`new`關鍵字 ### 字符串字面量 在 java 中,可以像這樣創建字符串:將字符串字面值分配給`String`實例: ```java String str1 = "Welcome"; String str2 = "Welcome"; ``` **這種方法的問題**:正如我在開頭所說的那樣,`String`是 Java 中的一個對象。但是我們沒有使用上面的`new`關鍵字創建任何字符串對象。編譯器為我們執行該任務它創建了一個字符串對象,該字符串對象具有字符串字面值(我們已經提供,在這種情況下它是`"Welcome"`)并將其分配給提供的字符串實例。 **但是**如果對象已經存在于內存中它不會創建新的對象,而是將同一個舊對象分配給新實例,這意味著即使我們上面有兩個字符串實例(`str1`和`str2`)編譯器僅創建一個(具有值`"Welcome"`)并將其分配給兩個實例。例如,有 10 個字符串實例具有相同的值,這意味著在內存中只有一個對象具有該值,并且所有 10 個字符串實例將指向同一個對象。 如果我們想要兩個具有相同字符串的不同對象,該怎么辦?為此,我們需要使用**`new`關鍵字**創建字符串。 ### 使用`new`關鍵字 正如我們在上面看到的那樣,當我們嘗試將相同的字符串對象分配給兩個不同的文字時,編譯器只創建了一個對象并使兩個文字都指向同一個對象。為了克服這種方法,我們可以創建這樣的字符串: ```java String str1 = new String("Welcome"); String str2 = new String("Welcome"); ``` 在這種情況下,編譯器將在內存中創建具有相同字符串的兩個不同對象。 ## 一個簡單的 Java 字符串示例 ```java public class Example{ public static void main(String args[]){ //creating a string by java string literal String str = "Beginnersbook"; char arrch[]={'h','e','l','l','o'}; //converting char array arrch[] to string str2 String str2 = new String(arrch); //creating another java string str3 by using new keyword String str3 = new String("Java String Example"); //Displaying all the three strings System.out.println(str); System.out.println(str2); System.out.println(str3); } } ``` 輸出: ```java Beginnersbook hello Java String Example ``` ## Java 字符串方法 以下是 Java `String`類中可用方法的列表。在示例的幫助下,在單獨的教程中解釋了這些方法。下面提供了教程的鏈接: 1. [`char charAt(int index)`](https://beginnersbook.com/2013/12/java-string-charat-method-example/ "CharAt"):返回指定索引處的字符。指定的索引值應介于 0 到`length()-1`之間。如果`index < 0 || >=`字符串的長度,它會拋出`IndexOutOfBoundsException`。 2. [`boolean equals(Object obj)`](https://beginnersbook.com/2013/12/java-string-equals-and-equalsignorecase-methods-example/):將字符串與指定的字符串進行比較,如果兩者匹配,則返回`true`。 3. [`boolean equalsIgnoreCase(String string)`](https://beginnersbook.com/2013/12/java-string-equals-and-equalsignorecase-methods-example/):它的作用與 equals 方法相同,但在比較字符串時不考慮這種情況。它做了一個不區分大小寫的比較。 4. [`int compareTo(String string)`](https://beginnersbook.com/2013/12/java-string-compareto-method-example/):此方法根據字符串中每個字符的 Unicode 值比較兩個字符串。 5. [`int compareToIgnoreCase(String string)`](https://beginnersbook.com/2013/12/java-string-comparetoignorecase-method-example/):與`CompareTo`方法相同但是它在比較期間忽略了這種情況。 6. [`boolean startsWith(String prefix, int offset)`](https://beginnersbook.com/2013/12/java-string-startswith-method-example/):它檢查子字符串(從指定的偏移索引開始)是否具有指定的前綴。 7. [`boolean startsWith(String prefix)`](https://beginnersbook.com/2013/12/java-string-startswith-method-example/):它測試字符串是否具有指定的前綴,如果是,則返回`true`,否則返回`false`。 8. [`boolean endsWith(String suffix)`](https://beginnersbook.com/2013/12/java-string-endswith-method-example/ "endsWith"):檢查字符串是否以指定的后綴結尾。 9. [`int hashCode()`](https://beginnersbook.com/2013/12/java-string-trim-and-hashcode-methods/):返回字符串的哈希碼。 10. [`int indexOf(int ch)`](https://beginnersbook.com/2013/12/java-string-indexof-method-example/):返回字符串中第一次出現指定字符`ch`的索引。 11. [`int indexOf(int ch, int fromIndex)`](https://beginnersbook.com/2013/12/java-string-indexof-method-example/):與`indexOf`方法相同,但是它從指定的`fromIndex`開始搜索字符串。 12. [`int lastIndexOf(int ch)`](https://beginnersbook.com/2013/12/java-string-lastindexof-method-example/):返回字符串中字符`ch`的最后一次出現。 13. [`int lastIndexOf(int ch, int fromIndex)`](https://beginnersbook.com/2013/12/java-string-lastindexof-method-example/):與`lastIndexOf(int ch)`方法相同,它從`fromIndex`開始搜索。 14. [`int indexOf(String str)`](https://beginnersbook.com/2013/12/java-string-indexof-method-example/):此方法返回指定子串`str`的第一次出現的索引。 15. [`int lastindexOf(String str)`](https://beginnersbook.com/2013/12/java-string-lastindexof-method-example/):返回字符串`str`的最后一次出現的的索引。 16. [`String substring(int beginIndex)`](https://beginnersbook.com/2013/12/java-string-substring-method-example/):返回字符串的子串。子字符串以指定索引處的字符開頭。 17. [`String substring(int beginIndex, int endIndex)`](https://beginnersbook.com/2013/12/java-string-substring-method-example/):返回子字符串。子字符串以`beginIndex`中的字符開頭,以`endIndex`中的字符結束。 18. [`String concat(String str)`](https://beginnersbook.com/2013/12/java-string-concat-method-example/ "concat"):在字符串末尾連接指定的字符串`str`。 19. [`String replace(char oldChar, char newChar)`](https://beginnersbook.com/2013/12/java-string-replace-replacefirst-replaceall-method-examples/):在使用`newChar`更改`oldChar`的所有出現后,它返回更新的字符串。 20. [`boolean contains(CharSequence s)`](https://beginnersbook.com/2017/10/java-string-contains-method/):它檢查字符串是否包含指定的`char`值序列。如果是,則返回`true`,否則返回`false`。如果`s`為`null`,它拋出 NullPointerException`。 21. [`String toUpperCase(Locale locale)`](https://beginnersbook.com/2013/12/java-string-tolowercase-method-example/):使用指定語言環境定義的規則將字符串轉換為大寫字符串。 22. [`String toUpperCase()`](https://beginnersbook.com/2013/12/java-string-tolowercase-method-example/):相當于`toUpperCase(Locale.getDefault())`。 23. [`public String intern()`](https://beginnersbook.com/2017/10/java-string-intern-method/):此方法搜索內存池中的指定字符串,如果找到它,則返回它的引用,否則它將內存空間分配給指定的字符串,并將引用分配給它。 24. [`public boolean isEmpty()`](https://beginnersbook.com/2017/10/java-string-isempty-method-with-example/):如果給定的字符串長度為 0,則此方法返回`true`。如果指定的 Java 字符串的長度不為零,則返回`false`。 25. [`public static String join()`](https://beginnersbook.com/2017/10/java-string-join-method/):此方法使用指定的分隔符連接給定的字符串并返回連接的 Java 字符串 26. [`String replaceFirst(String regex, String replacement)`](https://beginnersbook.com/2013/12/java-string-replace-replacefirst-replaceall-method-examples/):它用指定的替換字符串替換第一次出現的,符合給定正則表達式`regex`的子字符串。 27. [`String replaceAll(String regex, String replacement)`](https://beginnersbook.com/2013/12/java-string-replace-replacefirst-replaceall-method-examples/):它用`replacement`字符串替換所有適合[正則表達式](https://beginnersbook.com/2014/08/java-regex-tutorial/)`regex`的子串。 28. [`String[] split(String regex, int limit)`](https://beginnersbook.com/2013/12/java-string-split-method-example/):它拆分字符串并返回與給定正則表達式匹配的子字符串數組。 limit 是這里的結果閾值。 29. [`String[] split(String regex)`](https://beginnersbook.com/2013/12/java-string-split-method-example/):與 `split(String regex, int limit)`方法相同,但它沒有任何閾值限制。 30. [`String toLowerCase(Locale locale)`](https://beginnersbook.com/2013/12/java-string-tolowercase-method-example/):它使用給定語言環境定義的規則將字符串轉換為小寫字符串。 31. [`public static String format()`](https://beginnersbook.com/2017/10/java-string-format-method/):此方法返回格式化的 java 字符串 32. [`String toLowerCase()`](https://beginnersbook.com/2013/12/java-string-tolowercase-method-example/):相當于`toLowerCase(Locale。getDefault())`。 33. [`String trim()`](https://beginnersbook.com/2013/12/java-string-trim-and-hashcode-methods/):從原始字符串中省略前導和尾隨空格后返回子字符串。 34. [`char[] toCharArray()`](https://beginnersbook.com/2013/12/java-string-tochararray-method-example/):將字符串轉換為字符數組。 35. [`static String copyValueOf(char[] data)`](https://beginnersbook.com/2013/12/java-string-copyvalueof-method-example/):返回包含指定字符數組字符的字符串。 36. [`static String copyValueOf(char[] data, int offset, int count)`](https://beginnersbook.com/2013/12/java-string-copyvalueof-method-example/):與上面的方法相同,帶有兩個額外的參數 - 子數組的初始偏移量和子數組的長度。 37. [`void getChars(int srcBegin, int srcEnd, char [] dest, int destBegin)`](https://beginnersbook.com/2013/12/java-string-getchars-method-example/):它將`src`數組的字符復制到`dest`數組。只有指定的范圍被復制(`srcBegin`到`srcEnd`)到`dest`子數組(從`fromBegin`開始)。 38. [`static String valueOf()`](https://beginnersbook.com/2017/10/java-string-valueof-method/):此方法返回傳遞參數的字符串表示形式,如`int`,`long`,`float`,`double`,`char`和`char`數組。 39. [`boolean contentEquals(StringBuffer sb)`](https://beginnersbook.com/2013/12/java-string-contentequals-method-example/ "contentEquals"):它將字符串與指定的字符串緩沖區進行比較。 40. [`boolean regionMatches(int srcoffset, String dest, int destoffset, int len)`](https://beginnersbook.com/2013/12/java-string-regionmatches-method-example/):它將輸入的子字符串與指定字符串的子字符串進行比較。 41. [`boolean regionMatches(boolean ignoreCase, int srcoffset, String dest, int destoffset, int len)`](https://beginnersbook.com/2013/12/java-string-regionmatches-method-example/):regionMatches 方法的另一種變體,帶有額外的布爾參數,用于指定比較是區分大小寫還是不區分大小寫。 42. [`byte[] getBytes(String charsetName)`](https://beginnersbook.com/2013/12/java-string-getbytes-method-example/):使用指定的`charset`編碼將字符串轉換為字節序列,并返回結果字節數組。 43. [`byte[] getBytes()`](https://beginnersbook.com/2013/12/java-string-getbytes-method-example/):此方法類似于上面的方法,它只使用默認的字符集編碼將字符串轉換為字節序列。 44. [`int length()`](https://beginnersbook.com/2013/12/java-string-length-method-example/):返回字符串的長度。 45. [`boolean matches(String regex)`](https://beginnersbook.com/2013/12/java-string-matches-method-example/):它檢查字符串是否與指定的[正則表達式](https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html#sum)匹配。 46. `int codePointAt(int index)`:它類似于 charAt 方法,但它返回指定索引的 Unicode 代碼點值而不是字符本身。 ## 流行的 Java 字符串教程 我在 java 中分享了幾個關于`String`的教程。以下是流行的 Java `String`教程的鏈接。 1. [`String`到`int`的轉換](https://beginnersbook.com/2013/12/how-to-convert-string-to-int-in-java/) 2. [`int`到`String`的轉換](https://beginnersbook.com/2015/05/java-int-to-string/) 3. [`String`到`Double`的轉換](https://beginnersbook.com/2013/12/how-to-convert-string-to-double-in-java/) 4. [`Double`到`String`的轉換](https://beginnersbook.com/2015/05/java-double-to-string/) 5. [`String`到`long`的轉換](https://beginnersbook.com/2013/12/how-to-convert-string-to-long-in-java/) 6. [`long`到`String`的轉換](https://beginnersbook.com/2015/05/java-long-to-string/) 7. [`InputStream`到`String`的轉換](https://beginnersbook.com/2013/12/how-to-convert-inputstream-to-string-in-java/) 8. [`String` vs `StringBuffer`](https://beginnersbook.com/2014/08/string-vs-stringbuffer/) 9. [`String`到`boolean`的轉換](https://beginnersbook.com/2014/07/convert-string-to-boolean-primitive-in-java/) 10. [`boolean`到`String`的轉換](https://beginnersbook.com/2015/05/java-boolean-to-string/) 11. [`String`到`Boolean`的轉換](https://beginnersbook.com/2014/07/convert-string-object-to-boolean-object-in-java/) 12. [刪除字符串的尾隨空格](https://beginnersbook.com/2014/07/how-to-remove-only-trailing-spaces-of-a-string-in-java/) 13. [使用零/空格左填充字符串](https://beginnersbook.com/2014/07/java-left-padding-a-string-with-spaces-and-zeros/) 14. [使用零/空格右填充字符串](https://beginnersbook.com/2014/07/java-right-padding-a-string-with-spaces-and-zeros/) 15. [在字符串中查找重復字符的程序](https://beginnersbook.com/2014/07/java-program-to-find-duplicate-characters-in-a-string/) 16. [`char`到`String`的轉換,以及相反](https://beginnersbook.com/2014/06/how-to-convert-char-to-string-and-a-string-to-char-in-java/) 17. [`char`數組到`String`的轉換](https://beginnersbook.com/2014/06/how-to-convert-a-char-array-to-a-string-in-java/) 18. [`String`到`Date`的轉換](https://beginnersbook.com/2013/04/java-string-to-date-conversion/) 19. [`Date`到`String`的轉換](https://beginnersbook.com/2013/05/java-date-string-conversion/) 20. [ASCII 到`String`的轉換](https://beginnersbook.com/2015/05/java-ascii-to-string-conversion/) 21. [`float`到`String`的轉換](https://beginnersbook.com/2015/05/java-float-to-string/) 22. [`StackTrace`到`String`的轉換](https://beginnersbook.com/2015/05/java-stacktrace-to-string-conversion/) 23. [`Writer`到`String`的轉換](https://beginnersbook.com/2015/05/java-writer-to-string-conversion/) 24. [`String`到`ArrayList`的轉換](https://beginnersbook.com/2015/05/java-string-to-arraylist-conversion/) 25. [Java 8 - `StringJoiner`示例](https://beginnersbook.com/2017/10/java-8-stringjoiner/) 26. [反轉`String`的單詞的 Java 程序](https://beginnersbook.com/2017/09/java-program-to-reverse-words-in-a-string/) 27. [使用遞歸反轉`String`的 Java 程序](https://beginnersbook.com/2017/09/java-program-to-reverse-a-string-using-recursion/) #### 參考文獻: * [`String` Javadoc](https://docs.oracle.com/javase/7/docs/api/java/lang/String.html) * [Java 8 - `String` JavaDoc](https://docs.oracle.com/javase/8/docs/api/java/lang/String.html)
                  <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>

                              哎呀哎呀视频在线观看