字串文字

字串文字提供了在 Java 原始碼中表示字串值的最便捷方式。字串文字包括:

  • 開頭的雙引號(")字元。
  • 零個或多個其他字元既不是雙引號也不是換行符。 (反斜槓(\)字元會改變後續字元的含義;請參閱文字中的轉義序列 。)
  • 結束雙引號字元。

例如:

"Hello world"   // A literal denoting an 11 character String
""              // A literal denoting an empty (zero length) String
"\""            // A literal denoting a String consisting of one 
                //     double quote character
"1\t2\t3\n"     // Another literal with escape sequences

請注意,單個字串文字可能不會跨越多個原始碼行。在文字的結束雙引號之前發生換行(或原始檔的結尾)是一個編譯錯誤。例如:

"Jello world    // Compilation error (at the end of the line!)

長字串

如果你需要一個太長而不適合在一條線上的字串,那麼表達它的傳統方法是將它分成多個文字並使用連線運算子(+)來連線各個部分。例如

String typingPractice = "The quick brown fox " +
                        "jumped over " +
                        "the lazy dog"

像上面這樣由字串文字和+組成的表示式滿足要求為常量表示式 。這意味著表示式將由編譯器進行評估,並在執行時由單個 String 物件表示。

字串文字的實習

當含有字串文字類檔案由 JVM 載入,相應 String 物件實習由執行時系統。這意味著在多個類中使用的字串文字不會佔用比在一個類中使用的字串更多的空間。

有關實習和字串池的更多資訊,請參閱字串主題中的字串池和堆儲存示例。