Java常用类学习:Object类(equals方法)

Java常用类学习:Object类(equals方法)

  • equals方法:

    • Object equals()方法用于比较2个对象是否相等

    • equals()方法比较2个对象,是判断2个对象的引用是否相同;即比较2个对象的内存地址是否相等;

    • 注意:如果子类重写了equals()方法,就需要重写hashCode()方法,比如String类就重写了equals()方法,同时也重写了hashCode()方法;

  • 语法:

    • object.equals(Object obj);

  • 参数:

    • obj:要比较的对象;

  • 返回值:

    • boolean类型,如果2个对象相等返回true,否则返回false;

     

  • 代码案例:equals比较


    public class ObjectDemo02 {
       public static void main(String[] args) {

           Student st1=new Student();
           Student st2=new Student();
         
           //判断st1与st2是否相等:
           //不同对象,内存地址不同,所以不相等;返回false
           if(st1.equals(st2)){
               System.out.println("匹配");
          }else{
               System.out.println("不匹配");
          }

           System.out.println("---------------------------");

           //str1赋值给obj3
           //String重写了equals()方法
           //对象引用,内存地址相同,返回true
           Object obj3=st1;
           if(ob3.equals(str1)){
               System.out.println("匹配");
          }else{
               System.out.println("不匹配");
          }

      }

    }

 

  • String类重写了equals()方法,用于比较2个字符串是否相等;

  • 代码案例2:


    public class ObjectDemo03 {
       public static void main(String[] args) {

           //String类使用equals()方法
           //创建2个对象
           String str1=new String();
           String str2=new String();

           //判断str1与str2是否相等
           //初始化的2个对象都为null,所以是相等,返回true
           System.out.println(str1.equals(str2));

           //给对象赋值
           str1="haha";
           str2="xixi";
           //2个值不同,内存地址也不同,所以不相等,返回false
           System.out.println(str1.equals(str2));
      }
    }

     

posted @ 2022-03-08 19:21  gzs1024  阅读(209)  评论(0)    收藏  举报