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

Lombok 之 ToString

阅读更多

LomBok 的相关目录已经整理出来,希望大家可以根据需求自助学习,好工具要大家分享:

@Cleanup     

@Getter, @Setter

@ToString

@EqualsAndHashCode

@Constructor

@Data & @Value

@SneakyThrows

@Synchronized

@Getter(lazy=true)

@Log

 

很多时候我们进行一些探索和功能验证的时候,需要用到当前对象的toString方法,尤其是在进行xml解析,json解析这样的功能验证的时候,之前工作中就遇到过需要解析xml 和json,如果每次验证都启动tomcat的话会非常的消耗时间,所以索性直接Override toString方法,然后测试功能。

对于重写toString方法这件事大多数的做法都是把变量按照顺序,用提示语句区分,逐个打印出来,不知道屏幕前的小伙伴有多少为了这样事情苦恼的。因为写这样的代码实在头疼,又要关注拼接字符串的格式。在Lombok中,一个@ToString annotation很好的解决了这个问题。让我们一起来看一个例子:

我们的代码经常这样:

 

import java.util.Arrays;

public class ToStringExample {
  private static final int STATIC_VAR = 10;
  private String name;
  private Shape shape = new Square(5, 10);
  private String[] tags;
  private int id;
  
  public String getName() {
    return this.getName();
  }
  
  public static class Square extends Shape {
    private final int width, height;
    
    public Square(int width, int height) {
      this.width = width;
      this.height = height;
    }
    
    @Override public String toString() {
      return "Square(super=" + super.toString() + ", width=" + this.width + ", height=" + this.height + ")";
    }
  }
  
  @Override public String toString() {
    return "ToStringExample(" + this.getName() + ", " + this.shape + ", " + Arrays.deepToString(this.tags) + ")";
  }
}

 

其实,我们的代码可以这样:

 

import lombok.ToString;

@ToString(exclude="id")
public class ToStringExample {
  private static final int STATIC_VAR = 10;
  private String name;
  private Shape shape = new Square(5, 10);
  private String[] tags;
  private int id;
  
  public String getName() {
    return this.getName();
  }
  
  @ToString(callSuper=true, includeFieldNames=true)
  public static class Square extends Shape {
    private final int width, height;
    
    public Square(int width, int height) {
      this.width = width;
      this.height = height;
    }
  }
}

 这样的方便方式节省了好多拼接字符串的功夫。

 

lombok.toString.includeFieldNames = [true | false] (default: true)

是否包含field的信息,如果值为true ,则可以在toString方法中给出field 的name。

lombok.toString.doNotUseGetters = [true | false] (default: false)

如果值为true,则Lombok会直接获取field 而不是通过get方法获取值。

 

 

1
0
分享到:
评论

相关推荐

    lombok.jar;lombok.jar

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

    lombok_lombok_源码.zip

    Lombok 是一个 Java 开发工具库,它通过注解处理器自动为 Java 类生成常见的 getter、setter、构造器、equals、hashCode 和 toString 方法,极大地减少了样板代码。本压缩包"Lombok_lombok_源码.zip"包含了 Lombok ...

    Lombok安装及使用

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

    lombok的eclipse安装包

    例如,`@Data`注解可以自动为类生成所有的getter和setter,甚至equals(), hashCode()和toString()方法。 安装Lombok到Eclipse中,一般有两种方法:一种是通过Eclipse的插件市场进行在线安装,另一种就是使用我们...

    重写toString和equals方法

    Java 对象的toString和equals方法重写 在 Java 中,每个对象都继承自 Object 类,而 Object 类中定义了两个重要的方法:toString() 和 equals()。这两个方法都是非常重要的,它们分别用于对象的字符串表示和对象...

    lombok 1.18.24

    在 Java 开发中,Lombok 提供的注解可以极大地简化类的构建,特别是对于那些包含大量 getter、setter、equals、hashCode 和 toString 方法的数据传输对象(DTO)。 1. **注解介绍** - `@Data`: 这个注解会自动生成...

    lombok.jar

    `@Data` 是Lombok提供的一个复合注解,它包含了`@ToString`、`@EqualsAndHashCode`、`@Getter`和`@Setter`,可以自动为类的所有非静态、非瞬态字段生成getter和setter方法,并且提供默认的toString()和equals()、...

    lombok-jar包.zip

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

    eclipse/myeclipse/Idea安装lombok插件

    它可以自动插入那些重复的代码,比如getter、setter、equals、hashCode、toString以及构造函数等。Lombok通过注解的方式,在编译时给Java源码增加必要的方法。安装Lombok插件之后,开发者在开发过程中可以更加专注于...

    eclipse整合lombok文档

    Eclipse 整合 Lombok 文档 Lombok 是一个 Java 库,用于减少 Java 代码中的 boilerplate 代码。它可以自动为 Java 类生成 getter、setter、equals、hashCode、toString 等方法,从而提高开发效率。 Eclipse 整合 ...

    lombok.jar及eclipse两种安装方式

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

    lombok_lombok.zip

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

    lombok-1.16.20.jar

    Lombok的1.16.20版本是它的一个历史版本,提供了许多便利的功能,使得开发者不必手动编写大量的getter、setter、构造函数以及equals()、hashCode()和toString()等常规方法。 Lombok的核心在于它的注解,这些注解...

    lombok-pluginDK-0.29-2019.2.zip

    Lombok 是一个 Java 开发工具,它通过注解的方式简化了 Java 类的编写,免去了开发者手动编写 getter、setter、构造器、equals、hashCode 和 toString 方法等繁琐的代码。Lombok 插件则是用于集成 Lombok 功能到开发...

    lombok-plugin-2021.3.zip

    Lombok 是一个非常受欢迎的 Java 开发工具,它通过注解的方式简化了 Java 代码,尤其是数据类的编写。在给定的压缩包文件 "lombok-plugin-2021.3.zip" 中,我们找到了适用于 IntelliJ IDEA 2021.3 版本的 Lombok ...

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

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

    lombok 插件idea 下载

    `@Data`是一个组合注解,包含了`@ToString`、`@EqualsAndHashCode`、`@Getter`(对所有字段)和`@Setter`(对所有非final字段)。这大大提高了代码的可读性和维护性,因为这些常见的样板代码都由Lombok自动生成,不...

    lombok插件

    Lombok插件是Java开发者常用的工具之一,它极大地提高了开发效率,尤其是在处理大量getter、setter、构造函数和其他常规样板代码时。Lombok通过提供注解的方式,允许开发者在源代码中消除这些冗余的代码,使代码更加...

    lombok.zip(lombok.jar)

    Lombok是一款非常受欢迎的Java库,它通过提供一系列的注解来简化Java代码,从而减少开发者在编写getter、setter、构造函数、equals()、hashCode()和toString()等常见方法时的工作量。Lombok.jar文件是这个库的可执行...

    lombok.zip

    Lombok 是一个非常实用的Java库,它通过提供一系列注解来简化代码,尤其是在处理getter、setter、equals、hashCode、toString等常规样板代码时。Lombok 的目标是减少Java开发中的冗余代码,提高开发效率,使代码更加...

Global site tag (gtag.js) - Google Analytics