在 Java 中,使用 + 號可將多個字串或變數連接成單一字串,常用於輸出訊息或組合 SQL 語句。需注意不同語言的連接符號差異(如 SQL 使用 ||),避免在混合程式碼中搞混。
Java 語法規定字串常值不可跨行書寫。為了程式碼可讀性,可將長字串拆分為多行,並在行尾使用 + 連接:
String msg = "我的名字叫蘿卜,今年29歲," +
"在寧波工作";
編譯器會在編譯期將其合併為單一字串,不影響執行效能,卻大幅提升原始碼閱讀體驗。
當 + 運算子的任一運算元為 String 時,編譯器會自動將另一運算元轉為字串(呼叫 toString()),再進行連接。這提供了隱式型別轉換的便利:
int age = 29;
String info = "年齡:" + age; // age 自動轉為 "29"
陷阱提醒: 連接運算優先級與算術運算相同,若混合使用需加括號明確語意:
// 錯誤:先做字串連接,再做加法
System.out.println("總和:" + 1 + 2); // 輸出 "總和:12"
// 正確:先計算數值
System.out.println("總和:" + (1 + 2)); // 輸出 "總和:3"
1. 避免在迴圈中使用 + 連接大量字串:每次連接都會產生新的 String 物件,造成大量暫時物件與 GC 壓力。應改用 StringBuilder(單執行緒)或 StringBuffer(多執行緒)。
2. 編譯期常值優化:編譯器會自動將 "a" + "b" 優化為 "ab",不會產生額外負擔。
3. 使用 String.format() 或 MessageFormat 處理複雜格式化:語意更清晰,且支援區域化。
字串連接不僅是組合文字的工具,更能解決原始碼排版、基本型別轉換等實務問題。掌握其運作機制與效能特徵,能寫出更易維護、高效能的 Java 程式碼。