簡體   English   中英

Java多行字符串形成

[英]Java multiline string formation

我絕不是一個java程序員,所以這看起來很基本。

當您想要保持代碼行簡短時,哪些“更好”。

String str = "First part of a string.";
str += " Second part of string.";

要么

String str = "First part of string." +
" Second part of string."

我想我的問題是做+ =和+做一個新的String對象? 如果他們這樣做,那么兩者都不會更好,這只是一個偏好問題。 我給出的例子將是現實世界使用的一個很好的例子。 我不想比較使用任何一種方法進行3次到1000次連接。

謝謝

我更喜歡第二種方法。 原因是編譯器可能會在編譯時將串聯的結果組合成單個字符串,而第一個方法可能在運行時完成(取決於實際的實現)。除非你做某事,否則它是一件小事然而,數百萬次。

實際上,Java編譯器需要在編譯時連接第二個示例。 15.28。 常量表達式3.10.5。 字符串文字

這是我編譯時得到的反編譯器:

public static void main(String[] args) {
    String str = "First";
    str += " Second";
    System.out.println(str);

    String str2 = "First" + " Second";
    System.out.println(str2);
}

變為:

public static void main(String args[]) {
    String s = "First";
    s = (new StringBuilder()).append(s).append(" Second").toString();
    System.out.println(s);
    String s1 = "First Second";
    System.out.println(s1);
}

所以第二種方法更好。

StringBuilder sb = new StringBuilder();
sb.append("First part");
sb.append("Second part");
System.out.print(sb.toString());

遵循Java的編碼約定:

String str = "First part of string. "
             + "Second part of string.";

確保'+'運算符開始下一行,這提高了可讀性。 使用此樣式可以實現可讀且高效的代碼。 https://www.oracle.com/technetwork/java/javase/documentation/codeconventions-136091.html#248

希望這可以幫助!

快樂的編碼,

布雷迪

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM