1. 使用==来比较数据类型,或者判断两个引用是否引用同一个对象 ,使用equals来判断两个对象是否在意义上相等
2. ==对于基本数据类型来说,用于比较两个值是否相等。
对于引用数据类型来说,用于比较两个对象的内存地址是否相同。
equals方法是Object类中的方法,该方法内部默认也是使用==比较两个对象,Object类的子类可以通过重写 equals方法来定义自己的比较规则,从而达到比较对象值的目的。例如:String类重写equals方法后,就可以通过该方法比较两个字符串值是否相同。
3.
int a = 3;
byte b = 3;
if (a == b) {
System.out.println("Yes");//Yes
} else {
System.out.println("No");
}
int num1 = 500;
int num2 = 500;
System.out.println(num1 == num2);//true
Dog dog1 = new Dog();
Dog dog2 = new Dog();
Dog dog3 = dog2;
System.out.println(dog1 == dog2);//false
System.out.println(dog2 == dog3);//true
System.out.println(dog3 == dog1);//false
System.out.println(dog3.equals(dog2));//true
System.out.println(dog3.equals(dog1));//false
System.out.println("=============");
Integer in1 = 127;
Integer in2 = 127;
System.out.println("in1==in2....."+(in1==in2));//true
System.out.println("in1.equals(in2)..."+in1.equals(in2));//true
//大于等于128的都是== 为false
Integer in3 = 128;
Integer in4 = 128;
System.out.println(in3==in4);//false
System.out.println(in3.equals(in3));//true 内容相等