public class User {
private final String name;
private final String address;
public User(String name, String address) {
this.name = name;
this.address = address;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
} else if (!(obj instanceof User)) {
return false;
} else {
User other = (User) obj;
return Objects.equals(name, other.name)
&& Objects.equals(address, other.address);
}
}
@Override
public int hashCode() {
return Objects.hash(name, address);
}
@Override
public String toString() {
return "User [name=" + name + ", address=" + address + "]";
}
// геттеры...
}
public record User (String name, String address) {}
public User(String name, String address) {
this.name = name;
this.address = address;
}
User user = new User("Abdrew", "3/1 Lake St.");
@Test
public void runTest() {
String name = "Andrew";
String address = "3/1 Lake St.";
User user = new User(name, address);
assertEquals(name, user.name());
assertEquals(address, user.address());
}
@Test
public void runTest() {
String name = "Andrew";
String address = "3/1 Lake St.";
User user1 = new User(name, address);
User user2 = new User(name, address);
assertTrue(user1.equals(user2));
}
@Test
public void runTest() {
String name = "Andrew";
String address = "3/1 Lake St.";
User user1 = new User(name, address);
User user2 = new User(name, address);
assertEquals(user1.hashCode(), user2.hashCode());
}
User[name=Andrew, address=3/1 Lake St.]
public record User(String name, String address) {
public User {
Objects.requireNonNull(name);
Objects.requireNonNull(address);
}
}
public record User(String name, String address) {
public User(String name) {
this(name, "Unknown");
}
}
public record User(String name, String address) {
public User(String name, String address) {
this.name = name;
this.address = address;
}
}
public record User(String name, String address) {
public User {
Objects.requireNonNull(name);
Objects.requireNonNull(address);
}
public User(String name, String address) {
this.name = name;
this.address = address;
}
}
public record User(String name, String address) {
public static String UNKNOWN_ADDRESS = "Unknown";
}
public record User(String name, String address) {
public static User unnamed(String address) {
return new User("Unnamed", address);
}
}
User.UNKNOWN_ADDRESS
User.unnamed("10 Moscow Ln.");