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()的使用只能用在引用数据类型上

  • 相关阅读:
    docker常规操作——启动、停止、重启容器实例
    docker同时删除多个容器
    ubuntu中使用docker部署.netcore2.1
    .NET中RabbitMQ的使用
    Java开发环境Jave EE 和 jdk 下载
    WebApi用户登录验证及服务器端用户状态存取
    MVC中使用Ninject依赖注入
    起步:SpringBoot
    ML-对偶(Duality)问题 KKT 条件
    pandas 之 多层索引
  • 原文地址:https://www.cnblogs.com/ylblikestudyJava/p/12359173.html
Copyright © 2011-2022 走看看