对lombok的@Builder和@Data组合的使用

2020-01-08  本文已影响0人  Continue_li

lombok的@Builder实际是建造者模式的一个变种,所以在创建复杂对象时常使用

这里对lombok的@Builder和@Data组合的使用示例
import lombok.Builder;
import lombok.Data;

@Data
@Builder
public class People {
private String name;
private String sex;
private int age;
}

使用了@Bulider和@Data注解后,就可以使用链式风格优雅地创建对象
public class TestLombok {

@Test
public void testBuilderAnnotation(){
    People luoTianyan = People.builder()
            .sex("female")
            .age(23)
            .name("LuoTianyan")
            .build();


    System.out.println(luoTianyan.toString());
    //People(name=LuoTianyan, sex=female, age=23)

    People people = new People("LuoTianyan","female",23);
    System.out.println(luoTianyan.equals(people));
    //true
}

}

class People加上了@Builder和@Data注解后,多了一个静态内部类PeopleBuilder,People调用静态方法builder生成PeopleBuilder对象,PeopleBuilder对象可以使用".属性名(属性值)"的方式进行属性设置,再调用build()方法就生成了People对象,并且如果两个People对象的属性如果相同,就会认为这两个对象相等,即重写了hashCode和equls方法。

上一篇下一篇

猜你喜欢

热点阅读