1.@Getter/@Setter:注解在类上或属性上,为类所有属性或单个属性提供Get/Set方法(默认public方法)
1.还可以设置get/set方法的一些属性,如把get方法设置成protected的
2.剔除单个属性的get/set方法
3.并不会为static修饰的属性添加get/set方法
4.只会为final修饰的属性添加get方法
[email protected] :注解在类上,生成toString方法
1.排除某个字段,不输出它的属性
2.指定输出某个字段的属性
[email protected]: 注解在类上,为类添加equals()、hashcode()、canEqual()方法
1.不判断某些属性是否相等
2.值判断某些属性“,”隔开
[email protected] 给参数加个这个注解 参数为null会抛出空指针异常(可以在类的属性前||可以在形参中)
5.1@NoArgsConstructor:注解在类上,为类添加无参构造函数
5.2.@RequiredArgsConstructor:为指定的参数添加构造函数(final修饰的参数、@NonNull注解的属性
)
5.3.@AllArgsConstructor:添加所有属性的构造函数
6.@Data:注解在类上,提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法和@RequiredArgsConstructor注解
@[email protected]/@[email protected][email protected][email protected]
7.@Builder:注解在类上,被注解的类加上构造者模式(链式赋值)
8.@Log:注解在类上;为类提供一个 属性名为log 的 log 日志对象
9.@Cleanup 注解在实例化的“流”类前,使用完后自动关闭流
10.val 简化泛型
这两种生成hashMap方式相同