zvvq技术分享网

Lombok 释放:通过 Getters、Setters、Constructors、Bui

作者:zvvq博客网
导读龙目岛项目简介 Project Lombok 是一个流行的 Java 库,旨在通过提供在编译时自动生成常见 Java 代码的注释来节省大量时间和精力,从而减少样板代码并提高编码人员的工作效率 什么是龙

zvvq.cn

龙目岛项目概况Project Lombok 是一个流行的 Java 库,希望通过给予在编译时一键生成普遍 Java 代码的注解来节省大量时间精力,从而降低样版编码并提升编号人员工作效率

copyright zvvq

什么叫龙目岛方案?Lombok 项目通过给予注解去解决 Java 的冗杂难题,这种注解规避了手动撰写重复代码结构(比如 getter、setter、构造函数、equals、hashCode 和 toString 方式)的需求。

根据使用 Lombok 注释来注解字段或类,编号人员可以标示编译器一键生成这个方法,从而降低样版编码量并使 Java 类更加紧凑和可读。

大家为什么使用 Lombok 项目?

在 Java 中应用Project Lombok 拥有多种有吸引力的优点,有利于提升生产力、代码质量和可扩展性。以下是挑选龙目岛项目几个原因。 内容来自zvvq,别采集哟

它降低了“样版编码”。

内容来自zvvq,别采集哟

它还提高了代码的可重用性和易读性。

内容来自samhan666

实现起来比较简单,没有多元性。 内容来自zvvq

与“IDE”轻松集成。

zvvq

怎样在 Maven 项目上用 Java 完成 Lombok 我们大部分项目都是围绕Maven的。

因而,我们只需将“Project Lombok”依靠项添加到项目中出现的“Pom.xml”文档中即可。转至maven存储库并从那边拷贝Lombok Maven存储库,在“Pom.xml”中加入最新lombok依赖项并上传,随后更新项目。

Java 中 Lombok 项目的 Getters、Setter 功能在 Java 中,目前为止最常见的做法是应用“Java Beans”方式加上 getter和 setter。大部分 IDE 会自动为这些模式生成代码。

让我们通过编码在“数据对象”和“数据工厂”的支持下建立 getter和 setter来理解这种方式:没有 Lombok 的数据对象

内容来自samhan

尽管手动建立 getter和 setter方式传统 JavaBeans 方法来完成工作,但它有一些缺点和限定,使之不太理想,尤其是在当代 Java 开发环境里,全部这些缺点主要在 Lombok 中得到遮盖。

因此,我们更喜欢使用 Lombok 方式,而非这一。以下是他在 Java 里的实现方式: Java 中Project Lombok 的构造函数特点没有Lombok的构造函数我们应该手动界定每个构造函数,这也许很枯燥而且容易出错,尤其是对于具有许多字段的类。

此外,我们应该处理各种构造函数配备,这会增加代码的多元性。

Lombok 根据 @NoArgsConstructor、@AllArgsConstructor 和 @RequiredArgsConstructor 注释优化了这一过程。没有 Lombok 的构造函数 本文来自zvvq

应用 Lombok 注解能够减少需要手动整理的样版编码量。应用 Lombok,您只需注解类及字段,构造函数就会根据指定标准一键生成。这将导致编码更干净、更简洁。

各种龙目岛特点和特性 ToString 形成在Java中,toString()是java.lang.Object类中界定的方式,其目的是回到目标的字符串表明方式。

toString() 方式被 Java 中所有类传承,他在 Object 类中的默认完成返回一个字符串,其中包括类名后跟“at”符号 (@) 及其目标哈希码的十六进制表示方式。但是,Object 提供的 toString() 的默认完成针对特殊类来说可能并不总是有意义或有效。

因而,开发者一般做法就是在自己类中重写 toString() 方式,以提供更好地描述对象状态或特性的自定义字符串表明方式。根据我们的实例,Profile 类可能重写 toString() 以回到包括名称、姓式、职称、年纪信息的字符串。 内容来自samhan

重写 toString() 容许以人类可读的格式轻松打印或纪录目标信息,这有利于调节、记录或给用户显示。假如不使用ToString Lombok 注解,我们必须在Profile 类中手动完成 toString() 方式。

大家联接名称、姓式、职称与年龄字段以创建所需的字符串表明方式。这类手动完成实现了与 Lombok 的 @ToString 注释同样的结论。不使用ToString注解作用 zvvq.cn

@ToString 注释为类生成一个 toString() 方式,提供其字段的字符串表明方式。在我们丰富我们的数据模型时,不用自己撰写与维护它。使用此注解,在 profile 案例上启用 toString() 将返回一个包括其字段值的字符串。

@Exclude 注释针对多种不同的注释都很有用,比如 Getters、Setters、ToString、EqualAndHashCode 等。让我们通过 @ToString 注释实例去了解这一点。

根据使用 @ToString(exclude = {“designation”}) 注解 designation 字段 Lombok 不将其包含于 @ToString 产生的 toString() 方式中。如果你想确保在目标的字符串表明方式上显示一些字段,这也许很有用。

2.EqualAndHashCode 形成

zvvq好,好zvvq

在Java中,equals()和hashCode()是两个常用的方法,分别用于完成目标相同和哈希码形成。equals() 方式:equals() 方式用以较为2个目标是否相同。

默认情况下,Object 类提供的equals() 方式较为对象引用,这意味着仅当较为的两大目标是内存中的同一案例时,它才回到 true。但是,往往需要重写自定类中的equals() 方式,以基于对象属性定义有价值的相同定义。

hashCode() 方式:hashCode() 方式用以形成对象哈希码值。哈希码是表示对象状态的整数值,一般用于根据哈希的数据结构(比如哈希表)。

hashCode() 方法很重要,因为他容许在基于哈希的集合中高效地存储和查找目标。在大家的示例中,大家手动完成并重写了equals() 方式来比较2个Profile 目标的字段是否相同,及其hashCode() 方式来依据字段形成哈希码。

我们使用 java.util.Objects 类中的Objects.equals()

zvvq