'=='概念
’ == ’ 运算符用于比较两个对象的引用,即判断两个对象是否指向同一个内存地址。对于基本数据类型,’ == ’ 比较的是它们的值。对于对象引用,’ == ’ 比较的是它们是否指向同一个对象,即是否具有相同的地址。
==示例代码:
int a = 5;
int b = 5;
System.out.println(a == b); // 输出 true,因为 a 和 b 的值相等
String str1 = new String("Hello");
String str2 = new String("Hello");
System.out.println(str1 == str2); // 输出 false,因为 str1 和 str2 引用不同的对象
equals()概念
equals() 方法用于比较两个对象的值是否相等。在 Java 中,equals() 方法的默认实现是继承自 Object 类,它比较的是对象的引用,与 == 运算符一样。但是,很多类都对 equals() 方法进行了重写,使其比较对象的值而不是引用。例如,在 String 类中,equals() 方法被重写,比较的是字符串的内容而不是引用。
equals()示例代码:
String str1 = new String("Hello");
String str2 = new String("Hello");
System.out.println(str1.equals(str2)); // 输出 true,因为 str1 和 str2 的值相等
Integer num1 = 5;
Integer num2 = 5;
System.out.println(num1.equals(num2)); // 输出 true,因为 num1 和 num2 的值相等
总结
1、’ == '比较的是对象的引用,用于判断两个对象是否指向同一个内存地址。
2、equals() 方法比较的是对象的值,用于判断两个对象的内容是否相等。在一些类中,equals() 方法可能被重写,以使其比较对象的值而不是引用。