12.20 每日总结(学习Lombok)

有个问题不解,KIMI给出来我答案。

学习时长两小时

 

解释lombok的@EqualsAndHashCode(callSuper = false) @Accessors(chain = true)的用法,给出实例

 

 

Lombok是一个Java库,它通过注解的方式在编译时自动为我们生成模板化的代码,比如getter/setter方法、equals()hashCode()toString()等方法。这样可以减少手动编写这些代码的工作量,并保持代码的整洁。

@EqualsAndHashCode(callSuper = false)

@EqualsAndHashCode注解来自Lombok,用于在类上自动生成equals(Object other)hashCode()方法。callSuper属性是一个布尔值,它指示Lombok在生成equals()hashCode()方法时是否应该调用父类的相应方法。

  • callSuper = true:在生成的equals()hashCode()方法中,会调用父类的equals()hashCode()方法。
  • callSuper = false:在生成的equals()hashCode()方法中,不会调用父类的equals()hashCode()方法。

示例:

java
import lombok.EqualsAndHashCode; @EqualsAndHashCode(callSuper = false) public class Person extends LivingBeing { private String name; private int age; // 省略其他代码 }

在这个例子中,Person类继承自LivingBeing类。如果我们在Person类上使用@EqualsAndHashCode(callSuper = false)注解,那么Lombok将只为Person类生成equals()hashCode()方法,而不会调用LivingBeing类的这些方法。

@Accessors(chain = true)

@Accessors注解来自Lombok,用于在类上自动生成所有属性的getter和setter方法。chain = true属性指示Lombok生成的setter方法是否应该返回当前类的实例(这样就可以进行链式调用)。

  • chain = false:生成的setter方法不返回任何值(即void)。
  • chain = true:生成的setter方法返回当前类的实例,允许链式调用。

示例:

java
import lombok.Accessors; @Accessors(chain = true) public class Person { private String name; private int age; // 使用Lombok生成的setter方法可以链式调用 public static void main(String[] args) { Person person = new Person() .setName("John Doe") .setAge(30); } }

在这个例子中,@Accessors(chain = true)注解使得Person类的setter方法返回了类的实例,这样就可以进行链式调用,如setName("John Doe").setAge(30)

使用Lombok可以大大简化代码,但需要注意的是,团队中的所有成员或项目中的其他开发者都需要有Lombok插件,并且IDE需要正确配置以支持Lombok注解。


__EOF__

本文作者Drip
本文链接https://www.cnblogs.com/drip3775/p/18631559.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   笠大  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~
点击右上角即可分享
微信分享提示