• ==与equals()的区别


     1      /**
     2          * Object类的equals()的声明规则:
     3          * public Boolean equals(Object obj)
     4          * 
     5          * Object类的equals()方法比较规则:
     6          * 当参数obj引用的对象与当前对象为同一对象时,返回true,否则范围false
     7          */
     8         
     9         Animal animal1 = new Dog();
    10         Animal animal2 = new Cat();
    11         Animal animal3 = animal1;
    12         
    13         System.out.println(animal1==animal2); //打印false
    14         System.out.println(animal1.equals(animal2)); //打印false
    15         
    16         System.out.println(animal1==animal3); //打印true
    17         System.out.println(animal1.equals(animal3)); //打印true
    18         
    19         /**
    20          * String,Date,Integer,Double的equals()已被覆盖,比较规则:
    21          * 如果两个对象的类型一致,并且内容一致,则返回true
    22          * 
    23          * 此时,==和equals()区别总结:
    24          * ==:比引用,一样为true
    25          * ==:比数据类型和内容一样为true
    26          */
    27         
    28         Integer int1 = new Integer(1); 
    29         Integer int2 = new Integer(1);
    30         
    31         String str1 = new String("Hello");
    32         String str2 = new String("Hello");
    33         
    34         System.out.println(int1==int2);//打印false
    35         System.out.println(int1.equals(int2));//打印true
    36         
    37         System.out.println(str1==str2);//打印false
    38         System.out.println(str1.equals(str2));//打印true
    39         
    40         /**
    41          * 注意:类型转换之后,引用的地址不变
    42          */
    43         Boolean b1 = new Boolean(true);
    44         Object obj = (Object)b1;
    45         if(obj == b1)  //强转之后,obj和b1的地址不变
    46             if(obj.equals(b1))
    47                 System.out.println("a");  //打印a
    48             else
    49                 System.out.println("b");
    50         else
    51             if(obj.equals(b1))
    52                 System.out.println("c");
    53             else
    54                 System.out.println("d");
  • 相关阅读:
    eclipse集成JBPM
    一个简单的NoSQL内存数据库—Berkeley DB基本操作的例子
    Berkely DB Java Edition学习笔记
    jsp和java获取文件或路径
    【Bzoj 1835 基站选址】
    【The Time Traveller's Wife】
    【Codeforces Round #430 (Div. 2) A C D三个题】
    【AIM Tech Round 4 (Div. 2) D Prob】
    【Codeforces AIM Tech Round 4 (Div. 2) C】
    【QAQ的Minecraft】
  • 原文地址:https://www.cnblogs.com/x_wukong/p/3620367.html
Copyright © 2020-2023  润新知