千家信息网

Java Object类equals方法怎么用

发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,这篇文章主要介绍"Java Object类equals方法怎么用"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"Java Object类equals方法怎么用"
千家信息网最后更新 2025年01月22日Java Object类equals方法怎么用

这篇文章主要介绍"Java Object类equals方法怎么用"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"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++;                }                return true;            }        }        return false;    }

关于"Java Object类equals方法怎么用"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。

0