java 如何比较java对象是同一个对象?
如何比较java对象是同一个对象?
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和c++哪个好 java好还是python
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。