标签:and vat code return 修改 对象 void als his
public class ValueObject {
/**
* 值对象模式:值对象的相等性和引用无关,只有当两个值对象的属性值都相等时它们即相等。
* 1)值对象必须覆盖 equals 和 hashcode 方法。
* 2)值对象的属性必须是 final 修饰,不允许修改。
* 3)通过静态方法来创建对象。
* 4)允许使用 get 方法访问值对象内部的属性。
*/
@Test
public void all() {
final User u1 = User.of("zxd", 29);
final User u2 = User.of("zxd", 29);
assertEquals(u1, u2);
}
}
@EqualsAndHashCode
@Getter
class User {
private final String name;
private final int age;
private User(String name, int age) {
super();
this.name = name;
this.age = age;
}
public static final User of(String name, int age) {
return new User(name, age);
}
}
标签:and vat code return 修改 对象 void als his
原文地址:https://www.cnblogs.com/zhuxudong/p/10171284.html