码迷,mamicode.com
首页 > 其他好文 > 详细

==和equals()的区别

时间:2017-10-05 17:39:01      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:bsp   引用   字符串的比较   结果   方法   har   返回   new   定义   

==是什么?

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

equals()是什么?

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

==和equals()的区别

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

   例一:

    

String a =new String("123");
String b =new String("123");
Boolean c = a==b;
System.out.println(c);
c=a.equals(b);
System.out.println(c);
a=b;
c=(a==b);
System.out.println(c);

结果:

false
true
true

 

例二:

Object o1 = new Object();
Object o2 = new Object();
Boolean c = o1==o2;
System.out.println(c);
c=o1.equals(o2);
System.out.println(c);
o1=o2;
c=o1==o2;
System.out.println(c);

结果:

false
false
true

         总结:

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

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

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

 

==和equals()的区别

标签:bsp   引用   字符串的比较   结果   方法   har   返回   new   定义   

原文地址:http://www.cnblogs.com/lwx521/p/7629442.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!