步骤 2 : @Data 注解 步骤 3 : 构造方法 步骤 4 : @Builder 步骤 5 : 其他注解
为了使用 lombok 的功能,需要用到 jar, 在右上角下载。 如果是maven 就是下面这段。
<!-- lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>compile</scope>
</dependency>
<!-- lombok --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <scope>compile</scope> </dependency>
@Data 注解会为类的所有属性自动生成setter/getter、equals、canEqual、hashCode、toString方法,如为final属性,则不会为该属性生成setter方法。
import lombok.Data;
@Data
public class Hero {
private int id;
private String name;
public static void main(String[] args) {
System.out.println(new Hero().getName());
System.out.println(new Hero().toString());
}
}
import lombok.Data; @Data public class Hero { private int id; private String name; public static void main(String[] args) { System.out.println(new Hero().getName()); System.out.println(new Hero().toString()); } }
@AllArgsConstructor
@NoArgsConstructor 分别提供全参构造方法和无参构造方法 import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Hero {
private int id;
private String name;
public static void main(String[] args) {
System.out.println(new Hero(1,"gareen"));
System.out.println(new Hero());
}
}
import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @Data @AllArgsConstructor @NoArgsConstructor public class Hero { private int id; private String name; public static void main(String[] args) { System.out.println(new Hero(1,"gareen")); System.out.println(new Hero()); } }
实例化和设置属性值的风格变了。。。
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class Hero {
private int id;
private String name;
public static void main(String[] args) {
//传统方式
Hero h1 = new Hero();
h1.setId(1);
h1.setName("garren");
System.out.println(h1);
//builder 方式
Hero h2 =Hero.builder().id(1).name("gareen").build();
System.out.println(h2);
}
}
其他注解用得不多,或者站长还没有用到那里去。。。 有兴趣的同学可以自行研究:
https://projectlombok.org/features/all
HOW2J公众号,关注后实时获知最新的教程和优惠活动,谢谢。
问答区域
2023-08-02
这个是不是和注解在一定程度上冲突了?
回答已经提交成功,正在审核。 请于 我的回答 处查看回答记录,谢谢
2020-09-09
请问这个jar下载下来要怎么用
2020-06-13
没有getName方法吖 大佬帮我看看
2020-05-06
补充一下,如果谁安装Lombok失败,提示missing,dependency里面,尤其是使用框架时
2020-03-19
@Builder 这个东西在个人项目无所谓,但是团队项目建议不要用,语法糖不全是香的
提问太多,页面渲染太慢,为了加快渲染速度,本页最多只显示几条提问。还有 2 条以前的提问,请 点击查看
提问之前请登陆
提问已经提交成功,正在审核。 请于 我的提问 处查看提问记录,谢谢
|