模仿String类,重写User类的equals()和toString()方法。
时间: 2024-09-11 19:06:08 浏览: 56
在面向对象编程中,`equals()` 和 `toString()` 方法对于表示对象的相似性以及如何以字符串形式展示对象非常重要。下面是如何在 `User` 类中模拟 `String` 类的这两个方法:
首先,我们需要实现 `equals()` 方法,这个方法用于比较两个用户是否相等。假设我们基于用户名和密码来判断用户是否相同:
```java
public class User {
private String username;
private String password;
// 构造函数、getter和setter省略
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null || getClass() != obj.getClass())
return false;
User user = (User) obj;
return Objects.equals(username, user.username) && Objects.equals(password, user.password);
}
}
```
接下来,我们重写 `toString()` 方法,将用户的详细信息转换成字符串:
```java
@Override
public String toString() {
return "User{" +
"username='" + username + '\'' +
", password='" + password + '\'' +
'}';
}
```
这里的 `toString()` 返回了一个包含用户名和密码的新字符串,类似于 `"User{username='John', password='secret'}"`。
阅读全文