`
朱秋旭
  • 浏览: 227899 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

被Java世界忽视的Lombok

阅读更多

在祖国65岁生日之际,道一声生日快乐,也祝大家国庆节happy。当大家选择和拥塞的公路较劲的时候,我选择了宅在家里用自己微薄的文字为Java中一个很方便的工具Lombok平反。

 

忘记了什么时候看到Lombok这个东西,开始对它的感觉是读起来很霸气,有没有哈哈。

渐渐的发现,这个东西还真是TMD方便啊,可以在Java世界里面一直默默无闻不知道是什么原因。今天就给大家分享一下Lombok,让大家感受一下这厮到底有多方便,到底能让你的代码多精简。

 

先上一个叫做val 的东东, 我们定义一个常量是不是都会这样写:

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;

public class ValExample {
  public String example() {
    final ArrayList<String> example = new ArrayList<String>();
    example.add("Hello, World!");
    final String foo = example.get(0);
    return foo.toLowerCase();
  }
  
  public void example2() {
    final HashMap<Integer, String> map = new HashMap<Integer, String>();
    map.put(0, "zero");
    map.put(5, "five");
    for (final Map.Entry<Integer, String> entry : map.entrySet()) {
      System.out.printf("%d: %s\n", entry.getKey(), entry.getValue());
    }
  }
}

 但是, 自从有了Lombok, final + 类型 这种复杂的定义方式不再需要了。

 

import java.util.ArrayList;
import java.util.HashMap;
import lombok.val;

public class ValExample {
  public String example() {
    val example = new ArrayList<String>();
    example.add("Hello, World!");
    val foo = example.get(0);
    return foo.toLowerCase();
  }
  
  public void example2() {
    val map = new HashMap<Integer, String>();
    map.put(0, "zero");
    map.put(5, "five");
    for (val entry : map.entrySet()) {
      System.out.printf("%d: %s\n", entry.getKey(), entry.getValue());
    }
  }
}

 

 

再来一个annotation 让大家尝尝鲜,来个@NotNull,看到他的介绍果然惊艳,叫“爱上NPE”,让我们一起见证一下如何爱上NPE:

对比下面两端代码,你就会很明显的感觉到它的益处:

 

import lombok.NonNull;

public class NonNullExample extends Something {
  private String name;
  
  public NonNullExample(@NonNull Person person) {
    super("Hello");
    this.name = person.getName();
  }
}

 

 

import lombok.NonNull;

public class NonNullExample extends Something {
  private String name;
  
  public NonNullExample(Person person) {
    super("Hello");
    if (person == null) {
      throw new NullPointerException("person");
    }
    this.name = person.getName();
  }
}

 
 估计看过guava代码的亲们应该都看到过这种annotation的。其实NotNull包括了两种Exception,有一个可选的annotation参数,通过exceptionType,可以决定当前位置是用IllegalArgumentException还是NPE,当然默认值就是NPE了。在Lombok中有一个好处就是如果使用了如@Data这样的Lombok annotation,也会默认出发@NotNull 的, 同时如果把@NotNull加到了原始类型上,你将收获一个warning。

 

只有处理NPE的怎么够,接下来我们陆续学习更多的Lombok的好东西:

@Cleanup     

@Getter, @Setter

@ToString

@EqualsAndHashCode

@Constructor

@Data & @Value

@SneakyThrows

@Synchronized

@Getter(lazy=true)

@Log

 

如果想关注Lombok 更多内容可以去官方网页细细品味:http://www.projectlombok.org/

3
0
分享到:
评论

相关推荐

    java lombok.rar

    java lombok jar包下载

    Lombok 是一种 Java™ 实用工具

    Lombok 是一种 Java™ 实用工具,可用来帮助开发人员消除 Java 的冗长,尤其是对于简单的 Java 对象(POJO)。它通过注解实现这一目的

    lombok.jar(1.16.18版本)最新包

    lombok(1.16.18版本)最新包, ... -javaagent:lombok.jar -Xbootclasspath/a:lombok.jar 如果上面的答案均为true,那么恭喜你已经安装成功,否则将缺少的部分添加到相应的位置即可 5、重启eclipse或myeclipse

    lombok(Java代码生成器)v1.16.16官方版

    lombok是一套可以帮助我们消除冗长java代码的工具包。正常情况下我们写一个Java类的时候都需要写出属性的get/set等方法,虽然现在一些IDE可以自动生成了,但是依旧会给类带来麻烦的感觉,这时候我们使用lombok(注解)...

    lombok简化java代码

    lombok简化java代码

    java lombok jar下载

    自动生成java中实体类的get, set 方法。不用在像之前一样的手动去生成了。

    lombok,对Java编程语言的添加非常辛辣。.zip

    龙目岛Project是一个Java库,它可以自动插入编辑器并构建工具,从而增加Java的功能。

    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 eclipse 插件

    1、运行Lombok.jar: Java -jar D:\software\lombok.jar D:\software\lombok.jar这是windows下lombok.jar所在的位置 数秒后将弹出一框,以确认eclipse的安装路径 2、.确认完eclipse的安装路径后,点击install/...

    lombok.jar lombok.jar

    下载地址:https://projectlombok.org/download 将lombok.jar文件,放到eclipse安装路径,该jar包也就是lombok插件的jar文件了 ... -javaagent:lombok.jar  -Xbootclasspath/a:lombok.jar 重启eclipse

    lombok官方jar包

    使用Lombok的两点主要原因就是: (1)、简化冗余的JavaBean代码; (2)、大大提高JavaBean中方法的执行效率;

    lombok.jar网盘

    lombok是一个可以通过简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的 Java 代码的工具,简单来说,比如我们新建了一个类,然后在其中写了几个字段,然后通常情况下我们需要手动去建立getter和setter...

    lombok-plugin-0.30-2020.2.jar

    可拉去插件源码重新打包 解决 idea 2020.2 版本 lombok 插件 异常,Element: class de.plushnikov.intellij.plugin.psi.LombokLightMethodBuilder #JAVA because: psi is outdated,

    Lombok(Java库)

    Lombok 是一个 Java 库,它通过使用注解来消除样板代码(boilerplate code),从而简化 Java 类的开发过程。使用 Lombok 可以让开发者在编写 Java 类时减少冗长的代码,提高代码的可读性和可维护性。 Lombok 提供了...

    lombok.jar;lombok.jar

    lombok.jar lombok.jar lombok.jar lombok.jar 亲测好用!!!

    Lombok1.16.20.jar

    最新的Lombok版本下载,Lombok1.16.20.jar 安装方法: 在lombok.jar 的目录下,运行: java -jar lombok.jar

    java-examples-project-lombok:Java示例项目Lombok

    java-examples-project-lombok Java示例项目Lombok

    lombok.jar(最新的1.18.2)

    2018年9月17号下载的lombok 1.使用步将 lombok.jar 放在eclipse安装目录下,和 eclipse.ini 文件平级的 2.双击打开jar包 3.点specify location 按钮,选择eclipse的安装目录,选择到eclipse层即可

    eclipse(STS)安装 lombok插件重启后注解无效的解决办法

    # lombok.jar拷到eclipse目录,.ini文件中添加下面的配置 -javaagent:lombok.jar -Xbootclasspath/a:lombok.jar

    lombok eclipse的插件

    用于eclipse或者STS开发工具所使用的lombok插件。lombok.jar。 使用时候解压缩,在eclipselombok文件夹里面有个lombok.jar,将其拷贝到eclipse或者STS安装根目录,然后执行 java -jar lombok.jar

Global site tag (gtag.js) - Google Analytics