java lombok-@Builder 注解

举报
brucexiaogui 发表于 2021/11/26 00:32:41 2021/11/26
【摘要】 java lombok-@Builder 注解 一、前言 在写代码中javaBean要重复写get、set、toString方法是一个没有技术含量且重复工作量的事情,当javaBean类较多时候写着也很繁琐,lombok提供了注解方式,不需要再写这些重复的代码,使代码更简洁优雅。 二、IDEA添加lombok I...

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)]
 

 

文章来源: brucelong.blog.csdn.net,作者:Bruce小鬼,版权归原作者所有,如需转载,请联系作者。

原文链接:brucelong.blog.csdn.net/article/details/104844604

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。