Java开发基础知识之学习篇——==和equals

1、定义

==:判断两个对象的地址是不是相等。即,判断两个对象是不是同一个对象。(基本数据类型比较值,引用数据类型比较内存地址);

equals:判断两个对象是否相等。当类没有覆盖equals()方法,则通过equals()比较该类的两个对象是,等价于通过“==”比较这两个对象;

而当类覆盖了equals()方法,一般,我们都覆盖equals()来返回两个对象内容是否相等,相等返回true。

2、代码示例

 1 String a = new String("ab");
 2 String b = new String("ab");
 3 String aa ="ab";
 4 String bb ="ab";
 5 if(aa == bb){ //true
 6  System.out.print("aa == bb")
 7 }
 8 if(a == b){ //false
 9  System.out.print("a == b")
10 }
11 if(a.equals(b)){ //true
12  System.out.print("a equals b ")
13 }
14 if(10 == 10.0){ //true
15  System.out.print("10 ==10.0")
16 }

说明:String 中的equals()方法是被重写过的,因为Object 的equals() 方法是比较对象的内存地址额,而String 的equals()方法比较的是对象的值。

猜你喜欢

转载自www.cnblogs.com/cokeHuan/p/11898167.html