Lombok是一個(gè)編譯時(shí)幫助我們生成類(lèi)的getter、setter、toString等的第三方庫(kù),讓我們不需要給實(shí)體類(lèi)手動(dòng)寫(xiě)getter、setter,代碼更加干凈。
常用注解

Lombok注解.png
步驟
AndroidStudio安裝Lombok插件
File => Settings => Plugins,插件市場(chǎng)搜索Lombok,安裝,重啟工具
開(kāi)啟工具的編譯注解開(kāi)關(guān) AnnotationProcessors
File => Settings => 搜索Annotation Processors => 把Enable annotation processing
添加Lombok依賴
模塊的build.gradle中,添加以下依賴
//1、lombok依賴
implementation 'javax.annotation:javax.annotation-api:1.2'
//依賴lombok的API,內(nèi)部雖然已經(jīng)聲明了注解解釋器,但在AndroidStudio上有Bug(導(dǎo)致編譯報(bào)錯(cuò)找不到生成的方法),需要自己主動(dòng)再聲明一次
implementation 'org.projectlombok:lombok:1.16.6'
//主動(dòng)聲明注解解釋器
annotationProcessor 'org.projectlombok:lombok:1.16.6'
添加Lombok配置文件
在項(xiàng)目根目錄,添加lombok.config文件,填入以下內(nèi)容
lombok.anyConstructor.suppressConstructorProperties=true
config.stopBubbling=true
lombok.equalsAndHashCode.callSuper=call
配置注解處理器
模塊的build.gradle文件,找到defaultConfig,加入以下配置,同步一下即可
defaultConfig {
//3.配置注解處理器
javaCompileOptions {
annotationProcessorOptions {
includeCompileClasspath = true
}
}
}
試驗(yàn)
準(zhǔn)備實(shí)體類(lèi)
- @Data:生成get、set方法
- @NoArgsConstructor:生成空參構(gòu)造方法
- @AllArgsConstructor:生成全參構(gòu)造方法
其他用法,自行搜索哈
//生成get、set方法
@Data
//生成空參構(gòu)造方法
@NoArgsConstructor
//生成全參構(gòu)造方法
@AllArgsConstructor
public class User {
private String userName;
private String password;
}
使用
布局添加2個(gè)按鈕,布局就不貼了。
點(diǎn)擊時(shí),調(diào)用set、get方法,toString等方法,能Toast輸出即可
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button button = findViewById(R.id.btn);
Button button1 = findViewById(R.id.btn2);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
User user = new User();
//實(shí)驗(yàn)set方法
user.setUserName("admin");
user.setPassword("admin");
//實(shí)驗(yàn)get方法
String userName = user.getUserName();
String password = user.getPassword();
Toast.makeText(getApplicationContext(),
"用戶名:" + userName + " 密碼:" + password,
Toast.LENGTH_SHORT).show();
}
});
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
User user = new User("root", "root");
//試驗(yàn)toString方法
String toString = user.toString();
int hashCode = user.hashCode();
Toast.makeText(getApplicationContext(),
"toString:" + toString + " hashCode:" + hashCode,
Toast.LENGTH_SHORT).show();
}
});
}
}
總結(jié)
在AndroidStudio中使用還是比較簡(jiǎn)單的,如果項(xiàng)目還沒(méi)有用Kotlin,還是用Java,使用Lombok簡(jiǎn)化代碼還是不錯(cuò)的。
代碼我上傳到了GitHub,有需要的同學(xué),可以clone