我始終認爲,在Java這樣的表達式:是「someString」相當於新的String(「someString」)?在Java中
String tmp = "someString";
只是一些對
String tmp = new String("someString");
正如我最近反編譯我的Java應用程序類型的「語法糖」,我看到了所有用法的
public static final String SOME_IDENTIFIER = "SOME_VALUE";
在代碼中被替換的值只是靜態最終變量被剝離。
每次想要訪問靜態final時,是否不會實例化這個新的String?這怎麼可以被認爲是「編譯優化」?
最可能的原因是國際。 –