您好,欢迎来到99网。
搜索
您的当前位置:首页2021-06-26

2021-06-26

来源:99网

一、==运算符的使用

1.基本数据类型变量:比较值是否相等,不一定类型要相同,存在自动类型提升

public void test1(){
    int i=10;
    int j=10;
    double k=10.0;
    System.out.println(i==j);//true
    System.out.println(i==k);//int自动类型提升为double,结果仍为true

    boolean b=true;
    //System.out.println(b==i);  编译报错

    char c=10; //字符的ASCII值
    System.out.println(i==c);//true
    char c1='A';
    char c2=65;
    System.out.println(c1==c2);//true
}
public void test2(){
    Customer cust1=new Customer("tom",21);
    Customer cust2=new Customer("tom",21);
    System.out.println(cust1==cust2); //false,两个对象地址不同

    String str1=new String("lxx");//String是一个类
    String str2=new String("lxx");
    System.out.println(str1==str2);//false

    String str3="lxx";
    String str4="lxx";
    System.out.println(str3==str4); //true,两个引用指向同一个对象
}

二、equals()方法

1.这是一个方法,而不是一个运算符

2.不能用于基本数据类型,只适用于引用数据类型

3.Object类中equals()方法的定义:

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

是否相同,而是比较两个对象的“实体内容”(属性)是否相同

public void test3(){
        Customer cust1=new Customer("tom",21);
        Customer cust2=new Customer("tom",21);
        System.out.println(cust1.equals(cust2)); //false,比较两个对象的地址

        String str1=new String("lxx");
        String str2=new String("lxx");
        System.out.println(str1.equals(str2));//true,比较两个对象的实体内容

        Date date1=new Date(32432525324L);
        Date date2=new Date(32432525324L);
        System.out.println(date1.equals(date2));//true,比较两个对象的实体内容
    }

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 99spj.com 版权所有 湘ICP备2022005869号-5

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务