原文连接
前言
lombok可以通过一个注解自动实现Getter
Setter
等方法.平时我们可以通过Eclipse
或者IntelliJ IDEA
快捷键生成Getter
Setter
方法,当我们需要加入一个新的属性或者修改某属性的变量名或者数据类型时,都需要手动修改Getter
Setter
方法,这样极为麻烦.有了lombok,使得代码更加简洁,同时节约编码时间。本文适用于IntelliJ IDEA
及Android Studio
。
添加依赖
我们可以直接下载jar
包,并添加到构建路径中,但是推荐你使用构建工具
Maven依赖
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.2</version>
<scope>provided</scope>
</dependency>
</dependencies>
Gradle依赖
compileOnly 'org.projectlombok:lombok:1.18.2'
如果你是用的是其他构建工具,请参考
Usage
@Data
使用
我们可以直接在类名上使用该注解,lombok
会自动生成对应的Getter
Setter
toString
等方法
@Data public class DataExample {
private final String name;
private int age;
private double score;
private String[] tags;
}
@Getter
和Setter
可以设置访问成员变量的权限
@Data public class DataExample {
@Getter(AccessLevel.NONE)
private final String name;
@Getter(AccessLevel.PROTECTED)
private int age;
@Setter(AccessLevel.MODULE)
private double score;
private String[] tags;
}
@ToString
import lombok.ToString;
@ToString
public class ToStringExample {
private static final int STATIC_VAR = 10;
private String name;
private Shape shape = new Square(5, 10);
private String[] tags;
@ToString.Exclude private int id;
public String getName() {
return this.name;
}
@ToString(callSuper=true, includeFieldNames=true)
public static class Square extends Shape {
private final int width, height;
public Square(int width, int height) {
this.width = width;
this.height = height;
}
}
}
更多注解的使用请参考官方文档
安装插件
虽然lombok已经为你生成了繁琐的Getter
Setter
方法,但是你在你的IDE中还是无法访问lombok编译时自动生成的方法,因为我们需要在IntelliJ IDEA
和Android Studio
中安装lombok插件.
安装方式
File
-> Settings
-> Plugins
-> Browse Repositories
点击右侧的Install按钮安装,安装完成后需要重启IDE
总结
Lombok
是一个很优秀的开源库,通过该开源库你可以实现如Kotlin
一样无需手写Getter
和Setter
等方法,极为方便。