<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>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # Java `String.intern()`方法示例 > 原文: [https://howtodoinjava.com/java/string/java-string-intern-method-example/](https://howtodoinjava.com/java/string/java-string-intern-method-example/) Java `String.intern()`返回字符串池中存在的相等字符串字面值的引用。 如果**字符串池**中存在現有的字符串字面值,則返回其引用。 否則,將創建具有相同內容的新字符串,并返回對新字符串的引用。 使用[`String.equals()`](https://howtodoinjava.com/java/string/string-equals-method/)方法檢查字符串是否相等。 ## 1\. 字符串池 字符串池是堆內存中的保留內存區域,Java 用于存儲字符串常量。 請注意,默認情況下 Java 字符串是不可變的。 Java 在字符串池中僅存儲每個不同`String`值的一個副本。 它有助于在程序執行期間重用`String`對象以節省內存。 在運行的程序中可能有很多對字符串的引用,但是在字符串池中只有字符串的副本。 #### 1.1 兩種創建字符串的方法 在 Java 中,我們可以通過兩種方式創建字符串。 ```java String str1 = new String("hello world"); String str2 = "hello world"; ``` 在上面的示例中,兩種方法都用于創建字符串,但是建議稍后使用字符串字面值。 **字符串字面值總是進入字符串池**。 當我們使用`new`關鍵字創建字符串時,將創建兩個對象,即一個在堆區中,另一個在字符串常量池中。 創建的字符串對象引用始終指向堆區域對象。 要獲取在字符串池中創建的相同對象的引用,請使用`intern()`方法。 ## 2\. Java `String.intern()`方法 `String.intern()`返回對字符串池中存在的相等字符串字面值的引用。 眾所周知,所有字符串字面值都是在字符串池中自動創建的,因此`intern()`方法適用于通過`'new'`關鍵字創建的`String`對象。 `String.intern()`是**原生**方法。 借助`intern()`方法,可以獲得原始字符串對象對應的`String`常量池對象的引用。 ## 3\. Java `String.intern()`示例 Java 程序使用`String.intern()`方法插入字符串。 ```java public class StringExample { public static void main(String[] args) { //String object in heap String str1 = new String("hello world"); //String literal in pool String str2 = "hello world"; //String literal in pool String str3 = "hello world"; //String object interned to literal //It will refer to existing string literal String str4 = str1.intern(); System.out.println(str1 == str2); //false System.out.println(str2 == str3); //true System.out.println(str2 == str4); //true } } ``` 程序輸出。 ```java false true true ``` 在此示例中,我們學習了**內聯 Java** 中的字符串。 這是本機方法,可提供**高性能**。 參考文獻: [Java 字符串指南](https://howtodoinjava.com/java-string/) [`String` Java 文檔](https://docs.oracle.com/javase/9/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>

                              哎呀哎呀视频在线观看