zoukankan      html  css  js  c++  java
  • ==和equals()的区别

    ==是什么?

         ==在JAVA里面是一个二元操作符,用于比较原生类型(boolean,int,char,float等),也可以用于比较对象。

    equals()是什么?

       equals()方法定义在Object类里,是用来比较两个对象相等性,开发者可以根据需要重写。

    ==和equals()的区别

    当都用于比较对象时,==用于比较两个对象的引用地址,而默认的equals()则比较的是对象的值,至于重写之后的就看具体实现了。下面有两个例子:

       例一:

        

     1 String a =new String("123");
     2 String b =new String("123");
     3 Boolean c = a==b;
     4 System.out.println(c);
     5 c=a.equals(b);
     6 System.out.println(c);
     7 a=b;
     8 c=(a==b);
     9 System.out.println(c);
    10 
    11 结果:
    12 
    13 false
    14 true
    15 true

    例二:

     1 Object o1 = new Object();
     2 Object o2 = new Object();
     3 Boolean c = o1==o2;
     4 System.out.println(c);
     5 c=o1.equals(o2);
     6 System.out.println(c);
     7 o1=o2;
     8 c=o1==o2;
     9 System.out.println(c);
    10 
    11 结果:
    12 
    13 false
    14 false
    15 true

             总结:

    1.使用==比较原生类型,使用equals()比较对象。

    2.对于两个引用指向相同对象==返回true,equals()看具体实现。

    3.字符串的比较用equals()。

  • 相关阅读:
    类模板机制
    C和C++中const的区别
    bitset
    静态库or动态库?
    多态原理探究
    程序从编译到运行过程
    对象的内存模型
    重载、重写(覆盖)和隐藏
    对继承和派生的理解
    对C++对象的理解
  • 原文地址:https://www.cnblogs.com/lwx521/p/7629442.html
Copyright © 2011-2022 走看看