标签:默认 顺序 ansi string 重载 getname 代码 some clu
@Data集合了@ToString、@EqualsAndHashCode、@Getter/@Setter、@RequiredArgsConstructor。
就是自动生成get和set方法,toStirng方法,hash和equal方法等
注解在属性上为属性生成get和set方法
该注解用在属性或构造器上,Lombok会生成一个非空的声明,可用于校验参数,能帮助避免空指针。 示例如下:
import lombok.NonNull;
public class NonNullExample extends Something {
private String name;
public NonNullExample(@NonNull Person person) {
super("Hello");
this.name = person.getName();
}
}
该注解能帮助我们自动调用close()方法,很大的简化了代码。将IO流自动用try-finally包围,并在最后自动关闭
默认情况下,会使用所有非静态(non-static)和非瞬态(non-transient)属性来生成equals和hasCode,也能通过exclude注解来排除一些属性。
import lombok.EqualsAndHashCode;
@EqualsAndHashCode(exclude={"id", "shape"})
public class EqualsAndHashCodeExample {
private transient int transientVar = 10;
private String name;
private double score;
private Shape shape = new Square(5, 10);
private String[] tags;
private int id;
public String getName() {
return this.name;
}
@EqualsAndHashCode(callSuper=true)
public static class Square extends Shape {
private final int width, height;
public Square(int width, int height) {
this.width = width;
this.height = height;
}
}
}
类使用@ToString注解,Lombok会生成一个toString()方法,默认情况下,会输出类名、所有属性(会按照属性定义顺序),用逗号来分割。
通过exclude属性可以排除属性
通过将includeFieldNames参数设为true,就能将属性的变量名和值对应打出,否则只打印值。
无参构造器、部分参数构造器、全参构造器。Lombok没法实现多种参数构造器的重载。
标签:默认 顺序 ansi string 重载 getname 代码 some clu
原文地址:https://www.cnblogs.com/ylcc-zyq/p/12547493.html