在java中,如果您有兩個內容相同但內容相同但分別構建的數組,則array1 == array2
將爲false,因爲equals會執行引用檢查並且它們的引用不相同。但是它保證他們總會有不同的參考?例如可以分開但相同的數組參考相等
public class TestArrayReferences {
private static final String[] SENTINEL_ARRAY_1 = new String[0];
private static final String[] SENTINEL_ARRAY_2 = new String[0];
public static boolean testArrays() {
return SENTINEL_ARRAY_1 == SENTINEL_ARRAY_2;
}
}
如果我打電話給testArrays,我返回false,但它是否保證總是假?也就是說,JVM是否允許檢測到SENTINEL_ARRAY_1和SENTINEL_ARRAY_2將始終相同,因此它們引用相同的數組?
使用'java.util.Arrays'來比較數組 – msrd0 2014-10-11 19:58:10
'new'總是表示「新」。 – 2014-10-11 20:12:03
@ChrisMartin你是否有鏈接到任何官方規格(或聲譽良好的來源),以確保新的永遠是一個新的對象? – 2014-10-11 20:31:03