在Java 中將整數轉換為字串時,傳統方法包括使用Integer.toString( int) 或String.valueOf(int) 方法。然而,我們觀察到的一種特殊方法是使用字串連接,如以下程式碼片段所示:
int i = 5; String strI = "" + i;
此類方法是非常規的,可能表明缺乏 Java 中正確技術的知識。雖然這種串聯方法可能有效,但這是一種不常見的做法。
深入研究Java 如何處理這種串聯,編譯器會最佳化此類程式碼並將其轉換為一系列字串附加,如下所示:
StringBuilder sb = new StringBuilder(); sb.append(""); sb.append(i); String strI = sb.toString();
雖然由於使用StringBuilder .append() 和Integer.getChars(),此方法的性能稍差,但它仍然
需要注意的是,編譯器不會優化空字串連接,從下面的字節碼分析可以明顯看出:
... 9: ldc #4; //String 11: invokevirtual #5; //Method java/lang/StringBuilder.append: (Ljava/lang/String;)Ljava/lang/StringBuilder; ...
這導致了一個提案並正在進行開發以改變JDK 9 中的此類行為。因此,建議在轉換整數時使用 Integer.toString(int) 或 String.valueOf(int) 等標準方法,以提高清晰度和可維護性轉換為 Java 中的字串。
以上是為什麼 Java 中整數到字串轉換的字串連接被認為是非常規的?的詳細內容。更多資訊請關注PHP中文網其他相關文章!