屁话不多说,直接上代码!!!!!
/**
* equals和关系运算符 == 的区别
* @author 刘威辰的秘密花园
*
* == :
* 1、用在基本数据类型boolean a==b;
* 2、判断引用是否指向同一个地址且内容是否相同
*
* equals:
* 1、用于判断两个变量是否对同一个对象的引用,即判断内容是否相同,不会判断地址;
* 2、string类型比较常用:判断对象的内容是否相同。
*
*/
public class EqualsDemo {
public static void main(String[] args) {
//1、用于基本数据类型;
//注意:这里的a和b都指向同一个地址,一般来说,基本数据类型直接用"=="来判断就好了,因为基本类型不需要new,new会产生新的地址
int a=1;
int b=1;
System.out.println(a==b);//地址相同,内容相同,true
//2、判断引用是否指向同一个地址
int [] arr= {1,1};
System.out.println(arr[0]==arr[1]);//判断地址和值是否都一样,true,因为一个一维数组只有一个地址,但二维及以上的数组就不同了。
//对象不同,内容相同:"=="返回false equals返回true
String c=new String("jk");
String d=new String("jk");
System.out.println(c==d);//false,地址不一样
System.out.println(c.equals(d));//true,比较内容,不比较地址
//对象相同,内容相同:"=="返回true equals返回true
String e=new String("jk");
String f=e;
System.out.println(e==f);//true
System.out.println(c.equals(d));//true
}
}