`

吃点糖不好嘛 甜甜的Lombok

 
阅读更多

本文来自 fairjm@iteye 转截请注明出处

 

语法糖虽然没有为语言带来翻天覆地的变化,但是也减少了开发者的痛苦感.
对于java这种更新进度缓慢,语法比较啰嗦的语言,多一点语法糖就可以减少大量的代码.
lombok正是为此而生的项目.
项目地址:https://projectlombok.org/

因为官方文档简单并且详细,可以自行参阅.
这里就聊聊常用的一些.

 

冗长的类型声明

想想scala里的val var,类型声明可以根据赋值推导出来,然而在java里只能老老实实写.
想一想代码里的 StringBuilder sb = new StringBuilder(); 

为什么要打两遍,虽然IDE有自动补全,但整个代码看上去还是会显得很累赘.
lombok提供了valvar(var在experimental中),像用scala一样用吧.
幸福感up

 

 

繁琐的构造器模式代码

你还记得怎么写构造器模式嘛...
想一想 一个静态内部类Builder 一样的field再写一遍.
手写构造器模式等于把之前的代码翻了一倍,而且构造器模式比较常用,写得自己都恶心了.
用lombok只需要@Builder,结束了.

 

POJO

之前都是写好field,右键生成setter,getter,右键equals hashcode,toString.
然后多加一个field,再操作一遍,忘记操作了就多了一个bug.
@Data搞定一切.
如果公司有特殊的命名规定,比如所有的field都要以m开头(Android tutorial).那可以配合@Accessor的prefix属性即可.

就举三个例子,其他自行官方文档即可.

 

糖虽好,但也别贪吃,在使用之前,你需要理解去糖化后的代码是怎样的,不要滥用.

希望java的官方糖更多一点吧,反观C#那么多方便的语法大大减少了开发的痛感.

0
0
分享到:
评论

相关推荐

    lombok_lombok_源码.zip

    在 Lombok 源码中,主要涉及以下几个核心知识点: 1. 注解处理器(Annotation Processor):Lombok 的核心是使用 Java 的 Annotation Processing Tool (APT)。APT 允许在编译期间处理源代码,基于注解自动生成代码...

    lombok 最新插件版本 idea更新后 lombok报红错

    在IDEA中,Lombok插件是支持Lombok功能的关键,它使得IDE能够理解并处理Lombok的注解,如`@Data`, `@AllArgsConstructor`, `@NoArgsConstructor`等,从而在编译时自动生成对应的getter、setter、构造器等方法。...

    lombok.jar;lombok.jar

    Lombok是一款非常实用的Java库,它通过注解的方式简化了Java代码的编写,特别是减少了getter、setter、构造函数、equals、hashCode以及toString等方法的编写。Lombok的核心理念是减少样板代码,让代码更加简洁易读。...

    lombok的eclipse安装包

    本安装包是专门为Eclipse集成开发环境提供的Lombok支持,使得开发者可以更加便捷地在Eclipse中使用Lombok的功能。 首先,我们需要了解Lombok的基本概念。Lombok通过在源码级别添加注解(如`@Data`, `@Setter`, `@...

    lombok 1.18.24 良心价

    lombok 1.18.24 lombok 1.18.24 lombok 1.18.24 lombok 1.18.24 lombok 1.18.24 lombok 1.18.24 lombok 1.18.24 lombok 1.18.24 lombok 1.18.24 lombok 1.18.24 lombok 1.18.24 lombok 1.18.24 lombok 1.18.24 ...

    Lombok安装及使用

    Lombok是一款Java库,它通过注解处理器在编译时自动插入代码,简化了Java对象的创建和维护,从而减少了冗余的getter、setter、equals、hashCode和toString方法的编写。Lombok的主要目标是使Java代码更加简洁,提高...

    lombok-1.16.10-API文档-中文版.zip

    赠送jar包:lombok-1.16.10.jar; 赠送原API文档:lombok-1.16.10-javadoc.jar; 赠送源代码:lombok-1.16.10-sources.jar; 赠送Maven依赖信息文件:lombok-1.16.10.pom; 包含翻译后的API文档:lombok-1.16.10-...

    lombok 1.18.24

    Lombok 是一个 Java 开发工具,它通过注解处理器在编译时自动插入代码,以减少样板代码。Lombok 的最新版本是 1.18.24,这个版本修复了一些已知问题,并可能引入了新的特性或改进。在 Java 开发中,Lombok 提供的...

    eclipse/myeclipse/Idea安装lombok插件

    Lombok是一款Java开发工具,可以帮助开发者简化实体类、数据访问对象(DAO)以及服务对象等类的编写。它可以自动插入那些重复的代码,比如getter、setter、equals、hashCode、toString以及构造函数等。Lombok通过...

    eclipse的lombok驱动包

    lombok

    lombok-1.16.20-API文档-中文版.zip

    赠送jar包:lombok-1.16.20.jar; 赠送原API文档:lombok-1.16.20-javadoc.jar; 赠送源代码:lombok-1.16.20-sources.jar; 赠送Maven依赖信息文件:lombok-1.16.20.pom; 包含翻译后的API文档:lombok-1.16.20-...

    lombok 插件idea 下载

    Lombok是一款非常受欢迎的Java库,它通过注解的方式,帮助开发者自动地生成类中的getter、setter、构造函数等常用代码,从而简化了Java代码,减少了冗余。在标题和描述中提到的"Lombok插件 IDEA 下载",主要是指在...

    lombok-plugin-0.34-2020.1.zip

    在使用 Lombok 时,需要注意以下几点: - 需要在编译环境中添加 Lombok 的依赖,如 Maven 或 Gradle。 - IDE 需要安装对应的 Lombok 插件才能正确识别和处理 Lombok 注解。 - 在某些场景下,Lombok 可能与 IDE 的...

    lombok.jar及eclipse两种安装方式

    `lombok.jar`是Lombok库的可执行文件,包含了Lombok的所有功能。它通过被集成到IDE中,使得开发者可以在编写Java类时直接使用Lombok的注解,如`@Data`、`@Setter`、`@Getter`等,这些注解会自动生成相应的 getter 和...

    lombok-jar包.zip

    Lombok是一款非常流行的Java库,它通过提供一系列的注解,极大地简化了Java代码的编写,尤其是减少了getter、setter、equals、hashCode、toString等方法的编写。这个"lombok-jar包.zip"文件包含了Lombok的jar包,是...

    lombok.jar(1.16.18版本)最新包

    lombok(1.16.18版本)最新包, 1、下载Lombok.jar 2、双击运行Lombok.jar 数秒后将弹出一框,以确认eclipse的安装路径 3、确认完eclipse的安装路径后,点击install/update按钮,即可安装完成 4、安装完成之后,请...

    lombok 1.18.16

    lombok 1.18.16,2020.11.9 从官网下载的:https://projectlombok.org/download

    lombok_lombok.zip

    Lombok 是一个 Java 开发工具库,它通过注解处理器自动为 Java 类生成常见的 getter、setter、构造器、equals、hashCode、toString 方法等,从而减少了大量样板代码的编写,提高了开发效率。Lombok 的核心思想是减少...

    lombok idea插件最新版本离线安装包

    Lombok是一款非常受欢迎的Java库,它通过注解的方式简化了Java代码的编写,特别是减少了getter、setter、equals、hashCode、toString等冗余方法的编写。在开发环境中,尤其是IntelliJ IDEA这样的集成开发环境(IDE)...

    lombok包 lombok.jar

    Lombok 是一种 Java 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO)。它通过注释实现这一目的。通过在开发环境中实现 Lombok,开发人员可以节省构建诸如 hashCode() 和 equals...

Global site tag (gtag.js) - Google Analytics