今天我尝试使用equals()
比较两个数组,它显然失败了,我开始挖掘'等等,经过一些研究,我无法弄清楚:在哪个时间点创建一个数组的类?因为我知道int [] a
导致为整数创建一个数组类。谁创造了它?为什么不可能覆盖Object.equals()
以便它不比较两个对象并比较数组的元素呢?如果有人可以解释或提供链接,将非常感激,这将有助于理解这一点。
答案 0 :(得分:1)
Array
不会覆盖Object类的equals()
因此,当在数组上调用equals()
时,它不会使用它所拥有的对象的equals()
方法。
如果要比较两个整数数组,可以使用Arrays.equals()
方法。
如果它不适合您,请创建自己的方法来比较两个整数数组。
但是,由于该类是最终的,因此无法覆盖Array的equals()
,除此之外它似乎是一种奇怪的方法。