我正在做一些我有这样代码的事情
Object[] array = new Object[10];
Arrays.fill(array, new Object());
我的问题是,array[0] == array[1]
是真的还是array[0].equals(array[1])
?或者换句话说,数组中的所有值是相同的确切对象还是等效对象?
答案 0 :(得分:3)
Arrays.fill
状态的javadoc:
将指定的Object引用分配给指定的Objects数组的每个元素。
因此,由于==
比较引用,array[0]==array[1]
将返回true。如果将equals定义为return false;
,那么Arrays.fill甚至可以工作。