@Data
使用這個(gè)注解,就不用再去手寫Getter,Setter,equals,canEqual,hasCode,toString等方法了卷胯,注解后在編譯時(shí)會(huì)自動(dòng)加進(jìn)去乃秀。
@AllArgsConstructor
使用后添加一個(gè)構(gòu)造函數(shù)币狠,該構(gòu)造函數(shù)含有所有已聲明字段屬性參數(shù)
@NoArgsConstructor
使用后創(chuàng)建一個(gè)無參構(gòu)造函數(shù)
@Builder
關(guān)于Builder較為復(fù)雜一些菱蔬,Builder的作用之一是為了解決在某個(gè)類有很多構(gòu)造函數(shù)的情況篷帅,也省去寫很多構(gòu)造函數(shù)的麻煩,在設(shè)計(jì)模式中的思想是:用一個(gè)內(nèi)部類去實(shí)例化一個(gè)對(duì)象汗销,避免一個(gè)類出現(xiàn)過多構(gòu)造函數(shù)
@Data //生成getter,setter等函數(shù)
@AllArgsConstructor //生成全參數(shù)構(gòu)造函數(shù)
@NoArgsConstructor//生成無參構(gòu)造函數(shù)
@Builder
public class test1 {
String name;
String age;
String sex;
}
public static void main(String[] args) {
//使用@Builder注解后犹褒,可以直接通過Builder設(shè)置字段參數(shù)
test1 t1=new test1.test1Builder()
.name("wang")
.age("12")
.sex("man")
.build();
System.out.println("name is"+t1.getName()+'\n'+"age is :"+t1.getAge());
}