gpt4 book ai didi

java - java中.equals和==的区别(内存内)

转载 作者:太空宇宙 更新时间:2023-11-04 14:17:11 24 4
gpt4 key购买 nike

希望更好地了解 .equals==在java中

我特别好奇它们在内存级别的表现如何?

到目前为止我读到的所有内容都表明 ==查看对象是否引用相同的内存位置,而 .equals将比较给定内存位置中对象的内容。

比较内容与实际内存位置的优势是什么?是否存在 .equals 的情况的行为与 == 不同或者反之亦然?

最佳答案

是的,可能存在非常非常重要的差异。使用相同值创建的两个不同对象通过引用相等,但您仍然经常想查看它们是否表示相同的逻辑值。例如:

Point a = new Point(0, 0);
Point b = new Point(0, 0);
System.out.println(a == b); // prints 'false'
System.out.println(a.equals(b)); // prints 'true'

关于java - java中.equals和==的区别(内存内),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27584891/

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