📅  最后修改于: 2023-12-03 15:01:35.839000             🧑  作者: Mango
在Java中,我们使用'=='和'.equals()'两种方法来比较对象之间的相等性。这两种方法有着不同的使用场景和相等性判断方式。
'=='运算符用于比较两个对象的引用是否指向同一个对象。当两个对象的引用指向同一个对象时,'=='运算符返回true;当两个对象的引用指向不同的对象时,'=='运算符返回false。
String str1 = "hello";
String str2 = "hello";
String str3 = new String("hello");
System.out.println(str1 == str2); //true
System.out.println(str1 == str3); //false
在上述例子中,str1和str2的引用指向同一个对象,所以'=='运算符返回true;而str1和str3的引用指向不同的对象,所以'=='运算符返回false。
'.equals()'方法用于比较两个对象的内容是否相等。当两个对象的内容相等时,'.equals()'方法返回true;否则,返回false。
String str1 = "hello";
String str2 = "hello";
String str3 = new String("hello");
System.out.println(str1.equals(str2)); //true
System.out.println(str1.equals(str3)); //true
在上述例子中,不同于'=='运算符,'equals()'方法判断的不是对象的引用,而是对象的内容。所以,不同对象但内容相同的情况下,'equals()'方法返回true。