lombok介绍,以及其中各个注解的作用,如@Getter和@Setter,@ToString,@NoArgsConstructor和@AllArgsConstructor,@Data等

Lombok介绍

Lombok是一个Java库,它通过使用注解处理器自动化了Java类的生成,从而简化了Java开发过程中的样板代码。它的目标是通过减少样板代码的编写来提高开发人员的生产力。

下面是Lombok中一些主要注解的介绍及其作用:

  1. @Getter和@Setter:

    • @Getter注解用于自动生成类的getter方法。
    • @Setter注解用于自动生成类的setter方法。
      这两个注解可以应用在类级别或字段级别,用于自动生成对应字段的getter和setter方法。
  2. @ToString:

    • @ToString注解可以应用在类级别,用于自动生成toString()方法。
      自动生成的toString()方法会打印类的各个字段的值。
  3. @EqualsAndHashCode:

    • @EqualsAndHashCode注解可以应用在类级别,用于自动生成equals()和hashCode()方法。
      自动生成的equals()方法会比较类的各个字段的值,而hashCode()方法会生成对象的哈希码。
  4. @NoArgsConstructor和@AllArgsConstructor:

    • @NoArgsConstructor注解可以应用在类级别,用于生成无参构造方法。
    • @AllArgsConstructor注解可以应用在类级别,用于生成包含所有字段的构造方法。
      这两个注解可以方便地生成类的构造方法,避免手动编写大量的构造方法重载。
  5. @Data:

    • @Data注解可以应用在类级别,它包含了@Getter、@Setter、@ToString、@EqualsAndHashCode等注解的功能。
      自动生成的代码包括所有字段的getter和setter方法、toString()方法、equals()和hashCode()方法。
  6. @Builder:

    • @Builder注解可以应用在类级别,用于生成构建器模式的代码。
      自动生成的代码包括一个静态内部类作为构建器,用于链式构建对象。

除了上述注解,Lombok还提供了其他一些注解,如:

  • @NonNull:用于生成非空检查代码。
  • @Slf4j:用于生成日志记录器。
  • @Synchronized:用于生成同步代码块。
  • @Value:用于生成不可变的值对象。
  • @Cleanup:用于自动关闭资源。

需要注意的是,使用Lombok注解可以减少样板代码的编写,但也可能隐藏了一些细节,所以在使用时需要注意它们的作用和潜在影响。此外,Lombok在不同的IDE和编译器中的支持程度可能有所差异,需要确保使用的环境支持Lombok。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
@ToStringLombok提供的注解之一,用于自动生成类的toString方法。它可以直接在类上使用,例如在User类中使用了@Data注解后,不需要再显式添加@ToString注解,因为@Data已经包含了@ToString的功能。@AllArgsConstructor注解用于生成全参构造函数,@NoArgsConstructor用于生成无参构造函数。这两个注解可以方便地为类添加构造函数,避免了手动编写繁琐的构造函数代码。总结起来,@Data注解包含了@Getter、@Setter、@EqualsAndHashCode和@ToString这四个注解的功能,简化了类的定义。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [lombok之@NoArgsConstructor、@AllArgsConstructor和@Data注解](https://blog.csdn.net/y_bccl27/article/details/103380797)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [lombok几个基本注解的使用@Data@AllArgsConstructor@NoArgsConstructor](https://blog.csdn.net/weixin_54345563/article/details/123915084)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [java简便方法引入getter/setter/tostring等方法](https://download.csdn.net/download/qqzsloveyou/18929063)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值