Java supports constant folding of primitive typesが見つかりましたが、約String
?JavaコンパイラにはString Constant Foldingが含まれていますか?
例
私は次のソースコードにコンパイルされたコードに入る何
out.write(""
+ "<markup>"
+ "<nested>"
+ "Easier to read if it is split into multiple lines"
+ "</nested>"
+ "</markup>"
+ "");
を作成した場合は?
複合バージョン? out.write("<markup><nested>Easier to read if it is split into multiple lines</nested></markup>");
ランタイム・コンカチネーションのバージョンがそれほど効率が悪いですか?
public static void main(final String[] args) {
final String a = "1" + "2";
final String b = "12";
System.out.println(a == b);
}
出力::ここで簡単にテストだ out.write("<markup><nested>Easier to read if it is split into multiple lines</nested></markup>");
文字列連結は、デバイスへの書き込みよりも約100倍高速です。それは本当に大したことではない(それはありません) –
私はちょうど私のラップトップで、その50倍遅くテストしました。 –
これは実際にはJLSによって要求される動作です。 /生成されたコードは 'javap -c'で見ることができます。 –