Lombok介绍附比较好用的几种注释推荐
Posted 来老铁干了这碗代码
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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介绍附比较好用的几种注释推荐的主要内容,如果未能解决你的问题,请参考以下文章
Matlab实现和使用神经网络的几种方式详细讲解--附代码可下载