【JAVA开发工具】lombok 详解,包括注解

如果你不相信努力和时光,那么成果就会是第一个选择辜负你的。不要去否定你自己的过去,也不要用你的过去牵扯你现在的努力和对未来的展望。不是因为拥有希望你才去努力,而是去努力了,你才有可能看到希望的光芒。【JAVA开发工具】lombok 详解,包括注解,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

Lombok(以“简化Java开发”的目标)是一个Java库,可以通过注解的方式简化Java代码的编写。它通过注解来自动生成一些样板代码,减少了开发人员需要手动编写的重复代码,提高了代码的简洁性和可读性。

以下是Lombok中常用的注解及其作用:

1、@Getter / @Setter: 自动生成字段的 gettersetter 方法。

@Getter @Setter 
private int age;

2、@ToString: 自动生成 toString() 方法。

@ToString
public class Person {
    private String name;
    private int age;
}

3、@EqualsAndHashCode: 自动生成 equals()hashCode() 方法。

@EqualsAndHashCode
public class Person {
    private String name;
    private int age;
}

4、@NoArgsConstructor / @AllArgsConstructor: 自动生成无参构造方法和包含所有参数的构造方法。

@NoArgsConstructor
@AllArgsConstructor
public class Person {
    private String name;
    private int age;
}

5、@Builder: 自动生成构建者模式相关的方法,用于创建对象。

详情参考【注解】@Builder、@SuperBuilder Lombok 中的建设者

@Builder
public class Person {
    private String name;
    private int age;
}


// 使用
Person person = Person.builder().name("John").age(25).build();

6、@Data: 包含了 @ToString@EqualsAndHashCode@Getter@Setter@AllArgsConstructor 的功能,一次性生成所有这些方法。大写的牛🐂🍺!

@Data
public class Person {
    private String name;
    private int age;
}

7、@Slf4j / @Log: 自动生成日志记录器。

@Slf4j
public class MyClass {
    public void myMethod() {
        log.info("Hello, World!");
    }

8、@Cleanup: 自动为可以关闭的资源,实现的 closeable 接口添加 try-finally 代码块,用于资源的自动释放。参考【java】Closeable 接口是什么

@Cleanup 
InputStream in = new FileInputStream("example.txt");

// 这里可以使用 inputStream 对象,不用手动关闭
// 在方法结束时,Lombok 会自动在这里插入 try-finally 代码块,关闭 inputStream

这些注解能够简化代码,提高开发效率,但需要注意过度使用可能会导致代码可读性下降。因此,建议仅在适当的情况下使用Lombok,以确保代码的清晰度和可维护性。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/199187.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之家——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!