在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