java lombok-@Builder 注解

java lombok-@Builder 注解

一、前言

在写代码中javaBean要重复写get、set、toString方法是一个没有技术含量且重复工作量的事情,当javaBean类较多时候写着也很繁琐,lombok提供了注解方式,不需要再写这些重复的代码,使代码更简洁优雅。

二、IDEA添加lombok

IDEA添加lombok链接:IDEA添加lombok插件 

三、@Builder使用介绍

在没有使用lombok @Builder注解时候:

User类需要将每个字段的get、set 方法都写出来,整个类看起来代码臃肿。

UserInfo类:user对象添加数据需要重复调用set方法。

  • User类需要将每个字段的get、set 方法都写出来,整个类看起来代码臃肿。 


public class User {
    private String name;
    private String comment;
    private String sex;
    private int age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getComment() {
        return comment;
    }

    public void setComment(String comment) {
        this.comment = comment;
    }

    public String getSex() {
        return sex;
    }

    public void setSex(String sex) {
        this.sex = sex;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                ", comment='" + comment + '\'' +
                ", sex='" + sex + '\'' +
                ", age=" + age +
                '}';
    }
}
  • UserInfo类:user对象添加数据需要重复调用set方法。
import java.util.ArrayList;
import java.util.List;

public class UserInfo {

    public static void main(String[] args) {

        printUser();
    }

    private static void printUser() {
        List<User> users = new ArrayList<>();
        //user对象添加属性值
        User user = new User();
        user.setName("李明");
        user.setAge(14);
        user.setSex("男");
        user.setComment("喜欢读书");

        //user对象添加到list集合
        users.add(user);
        System.out.println("User infomation::" + users);
    }
}

 lombok注解方式写法:

User类不需要在写get、set方法,代码极其简洁优雅

UserInfo类使用Builder直接就可以构建User类对象并设置属性值

  • User类不需要在写get、set方法,代码极其简洁优雅 

import lombok.Builder;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

@Getter
@Setter
@ToString
@Builder
public class User {
    private String name;
    private String comment;
    private String sex;
    private int age;

}
  • UserInfo类使用Builder直接就可以构建User类对象并设置属性值


import java.util.ArrayList;
import java.util.List;

public class UserInfo {

    public static void main(String[] args) {
        printUser();
    }

    private static void printUser() {
        List<User> users = new ArrayList<>();
        //user对象添加属性值
        User user = User.builder()
                .name("李明")
                .age(16)
                .sex("男")
                .comment("喜欢读书")
                .build();

        //user对象添加到list集合
        users.add(user);
        System.out.println("User infomation::" + users);
    }
}
  • 输出结果
User infomation::[User(name=李明, comment=喜欢读书, sex=男, age=16)]
发布了316 篇原创文章 · 获赞 117 · 访问量 42万+

猜你喜欢

转载自blog.csdn.net/m0_38039437/article/details/104844604