public class Test {
private static final String str1 = new String("en");
private static Test instance = initInstance();
private static final String str2 = new String("en");
private static final String str3 = "en";
private Test() {
}
public static void main(String[] args) {
}
private static Test initInstance() {
instance = new Test();
System.out.println(str1 + ',' + str2 + ',' + str3);
return instance;
}
}
理論上與靜態無處不應該導致 「恩,恩,恩」。爪哇 - 奇怪的靜態字符串行爲 - 新的String( 「XXX」)與 「XXX」
結果: 「恩,空,帶」
預計: 「恩,空,空」(因爲我發現靜爲了真正事項)
有人能解釋一下嗎? 「en」和新的String(「en」)有什麼不同?
+1,因爲我有_no idea_你可以初始化這樣的內聯... – Izkata 2012-07-20 18:01:50