== 与equals() 的区别
时间: 2023-08-08 13:06:56 浏览: 35
在Java中,"=="是比较两个对象的引用是否相等,而equals()方法是比较两个对象的内容是否相等。
例如,对于两个字符串对象str1和str2,如果使用"=="比较,那么只有当它们引用同一个对象时才会返回true。但是,如果使用equals()方法比较,那么只要它们的内容相同,就会返回true。
另外,对于基本数据类型,"=="比较的是它们的值是否相等。但是对于对象类型,"=="比较的是它们的引用地址是否相等,即它们是否指向同一个对象。
因此,在Java中,通常使用equals()方法来比较两个对象的内容是否相等,而不是使用"=="。
相关问题
== 与Equals区别 示例
下面举一个简单的示例来说明 == 操作符和 Equals 方法的区别:
```csharp
string str1 = "hello";
string str2 = new string(new char[] { 'h', 'e', 'l', 'l', 'o' });
bool isEqual1 = str1 == str2; // true,因为字符串的值相等
bool isEqual2 = str1.Equals(str2); // true,因为字符串的内容相等
object obj1 = str1;
object obj2 = str2;
bool isEqual3 = obj1 == obj2; // false,因为 obj1 和 obj2 引用的不是同一个对象
bool isEqual4 = obj1.Equals(obj2); // true,因为 obj1 和 obj2 引用的对象的内容相等
```
从上面的示例可以看出,使用 == 操作符比较两个字符串时,比较的是字符串的值,即两个字符串的字符序列是否相同;而使用 Equals 方法比较两个字符串时,比较的是字符串的内容,即两个字符串的字符序列是否相等。此外,当将字符串对象转换为 object 类型后,使用 == 操作符比较的是两个对象的引用是否相同,而使用 Equals 方法比较的是两个对象的内容是否相同。
java ==与equals区别
Java 中的 == 是比较两个对象的引用是否相等,即它们是否指向同一个内存地址。而 equals() 方法是比较两个对象的内容是否相等,即它们的属性值是否相同。在使用时需要注意,如果没有重写 equals() 方法,则默认使用 Object 类中的 equals() 方法,这时比较的是两个对象的引用是否相等。