gpt4 book ai didi

java - java中的equals方法和==操作符

转载 作者:行者123 更新时间:2023-12-01 16:18:31 37 4
gpt4 key购买 nike

请查看下面的代码并帮助我理解这个概念equals 方法仅比较对象的值,而 == 运算符比较对象的引用,那么为什么在代码中 == 运算符返回 false,即使创建了两个单独的对象

    Ex Obj1=new Ex();//creating Object of Ex class
Ex Obj2=new Ex();//creating another Object of Ex class
System.out.println(Obj1==Obj2);//false
System.out.println(Obj1.equals(Obj2));//false

最佳答案

一般来说,Java 中的 equals() 和“==”运算符都用于比较对象以检查相等性,但两者之间存在一些差异:

  1. .equals() 方法和 == 运算符的主要区别在于,一个是方法,另一个是运算符。

  2. 我们可以使用 == 运算符进行引用比较(地址比较),使用 .equals() 方法进行内容比较。简而言之,== 检查两个对象是否指向同一内存位置,而 .equals() 则评估对象中值的比较。

根据你的例子,在第一次比较中,您使用“==”来比较 2 个对象。这里两个对象都有不同的内存位置,这就是输出错误的原因。在第二次比较中,您使用“.equals()”来比较 2 个对象。这里两个对象是不同的。

关于java - java中的equals方法和==操作符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62336909/

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