Lombok介绍、附比较好用的几种注释推荐
生活随笔
收集整理的這篇文章主要介紹了
Lombok介绍、附比较好用的几种注释推荐
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一. 前言
當屬性多時會出現大量的 getter/setter 方法,冗余,且一旦修改屬性,就需要修改對應的方法。會耗費大量的時間,也會影響美觀,Lombok因此誕生,目的是讓java變得簡潔,快速。
Lombok 可以提高開發效率。
二. Lombok使用
1)引入相應的Maven包
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.16.10</version><scope>provided</scope></dependency>2)在idea中下載Lombok插件
在idea的setting設置中的plugins,搜索lombok插件,下載完后,會讓你重啟idea,重啟idea就可以了.
注意:idea 2020最后一個版本及以后,已經內置了Lombok插件,無需下載。
三. 常用方法
lombok使用過程中主要是靠注解起作用的,官網上的文檔里面有所有的注解,這里不一一羅列,只說明其中幾個比較常用的。
@Setter @Getter 生成 get、set 方法
使用lombok:
import lombok.AccessLevel; import lombok.Getter; import lombok.Setter; public class GetterSetterExample {@Getter @Setter private int age = 10;@Setter(AccessLevel.PROTECTED) private String name; }不使用lombok:
public class GetterSetterExample {private int age = 10;private String name;public int getAge() {return age;}public void setAge(int age) {this.age = age;}protected void setName(String name) {this.name = name;} }@NonNull: 可以幫助我們避免空指針。
使用lombok:
import lombok.NonNull;public class NonNullExample extends Something {private String name; public NonNullExample(@NonNull Person person) {super("Hello");this.name = person.getName();} }不使用lombok:
public class NonNullExample extends Something {private String name; public NonNullExample(@NonNull Person person) {super("Hello");if (person == null) {throw new NullPointerException("person");}this.name = person.getName();} }@Cleanup: 自動幫我們調用close()方法。
使用lombok:
import lombok.Cleanup; import java.io.*; public class CleanupExample {public static void main(String[] args) throws IOException {@Cleanup InputStream in = new FileInputStream(args[0]);@Cleanup OutputStream out = new FileOutputStream(args[1]);byte[] b = new byte[10000];while (true) {int r = in.read(b);if (r == -1) break;out.write(b, 0, r);}} }不使用lombok:
import java.io.*;public class CleanupExample {public static void main(String[] args) throws IOException {InputStream in = new FileInputStream(args[0]);try {OutputStream out = new FileOutputStream(args[1]);try {byte[] b = new byte[10000];while (true) {int r = in.read(b);if (r == -1) break;out.write(b, 0, r);}} finally {if (out != null) {out.close();}}} finally {if (in != null) {in.close();}}} }此外還有:
- @NoArgsConstructor @AllArgsConstructor 生成無參、全參構造器
- @ToString 生成toString方法,
- @Data 生成get、set、toString等所有常用方法。
以上就是Lombok常用的方法了,記住這些就可以適用99%的場景了。
總結
以上是生活随笔為你收集整理的Lombok介绍、附比较好用的几种注释推荐的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 通俗易懂,Maven依赖pom中的sco
- 下一篇: 通俗易懂。Cocos2dx和Unity3