== 比较的是值是否相等,可以比较基本数据类型变量的值或者引用变量的值,但是引用变量的值指的是地址值。
euquls在Object类型上定义,被全部java类继承的方法,用于比较两个对象是否相等,其默认实现采用了 == 比较两个引用值是否相等。可以在子类中重写,重写为比较两个对象的属性是否相等。(String 重写了这个方法,比较两个字符串对象内容是否相等)
/**
* @document: 比较 == 和 equals的区别
* @Author:SmallG
* @CreateTime:2023/9/26+8:52
*/
public class Main {
public static void main(String[] args) {
int a1 = 1;
int a2 = 1;
String a3 = String.valueOf(1);
String a4 = String.valueOf(1);
// == 比较的是值是否相等
System.out.println(a1 == a2); //true
System.out.println(a3 == a4); //false 地址值不相等
//equals比较的是对象是否相等
System.out.println(a3.equals(a1)); //false
System.out.println(a3.equals(a4)); //true
}
}