新建项目如何引入lombok
File→Settings→Plugins搜索Lombok
参考链接:https://blog.csdn.net/qq_41864967/article/details/103505914
@Accessors(chain = true) //链式set
@Data //生成Getter,Setter,equals,canEqual,hasCode,toString等方法
@AllArgsConstructor //生成全参数构造函数
@NoArgsConstructor//生成无参构造函数
@Builder(toBuilder = true) //Builder的作用之一是为了解决在某个类有很多构造函数的情况,也省去写很多构造函数 修改实体,要求实体上添加@Builder(toBuilder=true)
@RequiredArgsConstructor(staticName = "of")
public class Student {
/**
* 告诉编译器,参数非空 和RequiredArgsConstructor配合生成静态构造方法
*/
@NonNull
private String name;
private Integer age;
private String sex;
}
public static void main(String[] args) {
//@Builder 不用写构造函数 相当于只用两个属性的构造函数
Student student = Student.builder()
.name("张三")
.age(18)
.build();
System.out.println(student);
System.out.println("=====================================");
//修改属性
String name = "李四";
student = student.toBuilder()
.name(name)
.age(22)
.sex("男")
.build();
System.out.println(student);
System.out.println("================验证链式set @Accessors(chain = true)注解===================");
Student student2 =new Student()
.setAge(25)
.setName("张飞")
.setSex("男");
System.out.println(student2);
System.out.println("=============静态构造方法========================");
List<String> list= new ArrayList<String>();
HashMap<String, String> objectObjectHashMap = new HashMap();
Student student3=Student.of("李白")
.setAge(74)
.setSex("男");
System.out.println(student3);
}
显示结果
"C:\Program Files\Java\jdk1.8.0_202\bin\java.exe" ...
Student(name=张三, age=18, sex=null)
=====================================
Student(name=李四, age=22, sex=男)
================验证链式set @Accessors(chain = true)注解===================
Student(name=张飞, age=25, sex=男)
=============静态构造方法========================
Student(name=李白, age=74, sex=男)
Process finished with exit code 0