Java Object类equals方法

网友投稿 277 2022-08-04


Java Object类equals方法

基本概念:

Object类位于java.lang包中,java.lang包包含着Java最基础和核心的类,在编译时会自动导入;Object类是所有Java类的祖先。每个类都使用 Object 作为超类。所有对象(包括数组)都实现这个类的方法。可以使用类型为Object的变量指向任意类型的对象

equals()方法:比较两个对象是否同一

如果两个对象具有相同的类型以及相同的属性值,则称这两个对象相等。如果两个引用对象指的是同一个对像,则称这两个变量同一。Object类中定义的equals 函数原型为:

public boolean equals(Object);他是判断两个对象是否同一,并不是是否相等

①只能处理引用类型变量 ②在Object类,发现equals()仍然比较的两个引用变量的地址值是否相等

package com.example.demo.test;

public class Person {

private String userName;

private String age;

public String getUserName() {

return userName;

}

public void setUserName(String userName) {

this.userName = userName;

}

public String getAge() {

return age;

}

public void setAge(String age) {

this.age = age;

}

}

package com.example.demo.test;

public class Test {

public static void main(String[] args) {

Person p1 = new Person();

Person p2 = new Person();

System.out.println(p1.equals(p2));

System.out.println(p1 == p2);

/*

* String类重写了Object类的equals()方法,比较是两个对象的实体内容"是否完全相同。

*/

String s1 = new String("AA");

String s2 = new String("AA");

System.out.println(s1.equals(s2));

System.out.println(s1 == s2);

}

}

从运行结果可以看到的是Object中的equals方法比较的是两个对象是否同一,

而String类中的equals方法比较的是字符串的value是否相等。 请看String.java中equals的方法

public boolean equals(Object anObject) {

if (this == anObject) {

return true;

}

if (anObject instanceof String) {

String anotherString = (String)anObject;

int n = value.length;

if (n == anotherString.value.length) {

char v1[] = value;

char v2[] = anotherString.value;

int i = 0;

while (n-- != 0) {

if (v1[i] != v2[i])

return false;

i+http://+;

}

return true;

}

}

return false;

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java的Object类九个方法技巧(java object有哪些方法)
下一篇:java中的Object类的toSpring()方法(java object tostring)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~