一般來說,程序代碼中的字符串常量經(jīng)過編譯之后,都具有唯一性,即,內(nèi)存中不會存在兩份相同的字符串常量。
(通常情況下,C++,C語言程序編譯之后,也具有同樣的特性。)
比如,我們有如下代碼。
String A = “atom”;
String B = “atom”;
我們有理由認(rèn)為,A和B指向同一個字符串常量。即,A==B。
注意,聲明字符串變量的代碼,不符合上面的規(guī)則。
String C= new String(“atom”);
String D = new String(“atom”);
這里的C和D的聲明是字符串變量的聲明,所以,C != D。