zoukankan      html  css  js  c++  java
  • equals和==的使用

    1.equals的使用:

        引用数据类型的比较:通常情况下比较的是引用数据类型下的栈中的地址,但当你重写了equals方法后就不一定了

    User user1=new User("tom",12);
    User user2=new User("tom",12);
    //结果为false
    System.out.println(user1 equals user2);
    //结果为false

    System.out.println(user1 == user2);
    User user3=user1;
    //结果为true

    System.out.println(user1 == user2);

     2.==的使用:

      基本数据类型的比较:比较堆中存储的值,常量池

      int a1=65;
      int a2=65;
    //结果为true

    System.out.println(a1 == a2);
    //结果为true

      int a1=65;
      char c='A';
      System.out.println(a1 == c);
      

     3.objiect中的equals方法:未重写时时等同于==方法

    Public boolean equals(Object obj){
       return (this== obj);           
    }
    

     4,总结:

    4.1像String Data File 包装类 等类的equals方法时重写了Object 的equals方法,这时是比较的内容;

    4.2在实际开发中,对于自定义类,往往需要比较两个对象的实体内容是否相同,因此需要重写Object 的equals方法

    4.3        1==用在基本数据类型时,

          比较两个变量的值是否相同,如果是相同数据类型直接比较,

          如果比较的是两种不同的数据类型,但两者关系是可以相互进行转换的也可以比较

          比较的是两种不同的数据类型(例如基本数据类型int 和 String 时) 编译报错

      例如

       int a1=65;
      char c='A';
      System.out.println(a1 == c);//结果为true
    

         2==用于引用数据类型比较时

          比较两个引用保存的地址值是否相同

    4.3 equals()的使用只能用在引用数据类型上

  • 相关阅读:
    关于这个 blog
    P6499 [COCI2016-2017#2] Burza 题解
    CF1172F Nauuo and Bug 题解
    CF1479D Odd Mineral Resource 题解
    CF1442E Black, White and Grey Tree 题解
    CF1442D Sum 题解
    CF1025D Recovering BST 题解
    CF1056E Check Transcription 题解
    CF1025F Disjoint Triangles 题解
    红包算法的PHP实现
  • 原文地址:https://www.cnblogs.com/ylblikestudyJava/p/12359173.html
Copyright © 2011-2022 走看看