object和string中的equals
时间: 2023-05-01 16:02:02 浏览: 71
equals是在Java中用来比较两个对象是否相等的方法。它被定义在Object类中,因此所有的Java类都可以使用equals方法来比较对象是否相等。equals方法的默认实现是比较两个对象的引用是否相等,如果要实现自定义的比较逻辑,需要对equals方法进行重写。
相关问题
Object 中 equals 类
在Java中,所有的对象都继承了Object类中的equals()方法。equals()方法用于比较两个对象是否相等,其默认实现是比较两个对象的引用是否相等。也就是说,如果两个对象的引用指向同一个内存地址,那么它们就相等,否则它们不相等。
如果想要比较两个对象的内容是否相等,就需要在自定义的类中覆盖equals()方法,根据自定义的比较规则来实现。在覆盖equals()方法时,需要注意以下几点:
1. equals()方法必须满足自反性、对称性、传递性和一致性。
2. equals()方法必须检查参数是否为null,并返回false。
3. equals()方法必须检查参数是否为同一类型的对象,并返回false。
4. equals()方法必须比较对象的内容而不是引用。
例如,下面是一个自定义的Person类,覆盖了equals()方法来比较两个Person对象的内容是否相等:
```java
public class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
@Override
public boolean equals(Object obj) {
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
final Person other = (Person) obj;
if (!Objects.equals(this.name, other.name)) {
return false;
}
if (this.age != other.age) {
return false;
}
return true;
}
}
```
在这个例子中,覆盖了equals()方法来比较两个Person对象的name和age属性是否相等。需要注意的是,equals()方法中使用了Objects.equals()方法来比较两个字符串是否相等,这个方法可以避免了比较null值时的NullPointerException异常。
String类库equals
String类库中的equals方法用于比较两个字符串对象的内容是否相等。它是在Object类中的equals方法的基础上进行了重写。在String类中,equals方法会比较两个字符串的每个字符是否相等,并且考虑字符的顺序。如果两个字符串的内容完全相同,则返回true;否则返回false。
以下是一个演示例子:
```java
String str1 = "Hello";
String str2 = "World";
String str3 = "Hello";
System.out.println(str1.equals(str2)); // 输出:false
System.out.println(str1.equals(str3)); // 输出:true
```
在上面的例子中,str1和str2的内容不同,所以equals方法返回false。而str1和str3的内容相同,所以equals方法返回true。
需要注意的是,equals方法区分大小写。如果需要进行不区分大小写的比较,可以使用equalsIgnoreCase方法。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)