gpt4 book ai didi

java - 对象 equals 方法是 == 和浅复制

转载 作者:行者123 更新时间:2023-12-02 10:29:48 25 4
gpt4 key购买 nike

我有

Object o = new Object()
o == o.clone(); //I understand this should be false since it's different two arraylist pointing to the same object right?
o.equals(o.clone()) //it's true if it's shallow copy since pointing at the same one

这里的equals不是==,应该是比较哈希码吧?因为它是对象。来源:equals method usage in string and list

但在我的笔记上它说 equal 方法在这里意味着 == 。

我的笔记有错吗?

我的注释说对象类有 aclone() 方法,但它有一个空的实现,由于这个原因,该对象类的对象不允许调用该方法。

有人可以更好地解释一下吗?我想我误解了一些东西

最佳答案

== 比较对象引用 - 它们是否完全相同的内存引用。 equals 是每个类实现的方法,通常用于进行更有用的比较(例如两个字符串是否包含相同的字符,或者两个列表是否包含相同的内容)。

但是,Object 中的默认实现只是简单地进行 == 比较,因此对于该类的实例来说,没有区别。

关于java - 对象 equals 方法是 == 和浅复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53675015/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com