2016 - 2024

感恩一路有你

java中创建对象的几种方式 在java的集合中是怎么判断两个对象是否相等的?

浏览量:2312 时间:2021-03-19 12:24:10 作者:admin

在java的集合中是怎么判断两个对象是否相等的?

首先判断两个对象的hashcode()是否相等,然后判断equals()是否相等。如果两个对象相等,则它们相等。PS:两个对象是否相等的最终决定是equals()。hashcode()的存在只是比较的效率。如果没有hashcode(),比较会很慢。Equals()是唯一的判断标准,hashcode()更快

Java中的基本数据类型用来判断两个对象是否相等。直接使用“==”。如果它们相等,则返回true;否则返回false。

但是Java中引用类型的对象是不同的。假设有两个参照对象obb1,obb2,obb1==obb2,判断两个参照变量obb1和obb2是否相等,即它们所指向的对象是否是同一个对象。这意味着只有当两个变量的内存地址相等时,才能返回true。每个对象都有自己的内存,因此它必须指向同一个对象才能返回true。

如果要自定义两个对象是否相等的规则,必须重写对象的类定义中的equals()方法。如果不重写equals()方法,则默认比较方法是比较两个对象是否为同一对象。在javaapi中,有些类重写equals()方法。它们的比较规则是:当且仅当equals方法参数不为null且两个变量的类型和内容相同时,比较结果为真。

重写equals()方法的步骤通常如下:

1。先用“==”判断是否相等。

2. 判断equals()方法的参数是否为空。如果为空,则返回false。因为当前对象不能为null,如果为null,则不能调用其equals()方法,否则将被拒绝java.lang.NullPointerException异常不正常。

3. 如果参数不为null,则如果两个对象的运行时类(通过getclass()获得)不相等,则返回false。否则,继续判断。

4. 确定班级成员是否平等。

java中创建对象的几种方式 java中对象是什么意思 java中什么是面向对象

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。