美文网首页
对lombok的@Builder和@Data组合的使用

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

作者: Continue_li | 来源:发表于2020-01-08 13:44 被阅读0次

    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方法。

    相关文章

      网友评论

          本文标题:对lombok的@Builder和@Data组合的使用

          本文链接:https://www.haomeiwen.com/subject/zafsactx.html