`
朱秋旭
  • 浏览: 228042 次
  • 性别: 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
分享到:
评论

相关推荐

    重写toString和equals方法

    重写toString和equals方法的意义以及方法

    Lombok 看这篇就够了

    也可以减少一些 get/set/toString 方法的编写,虽说 IDEA 的插件可以自动生成 get/set/toString 方法,但是使用 Lombok 可以让代码更简洁。 下面看看如何在 IDEA 中如何安装 Lombok: 安装 打开 IDEA 的 ...

    lombok-plugin-0.28-2018.2.zip

    Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法。出现的神奇就是在源码中没有getter和setter方法,但是在编译生成的字节码文件中有getter和setter方法。...

    lombok-1.16.16源码和文档

      无参构造器、部分参数构造器、全参构造器,当我们需要重载多个构造器的时候,Lombok就无能为力了。 @Data   @ToString, @EqualsAndHashCode, 所有属性的@Getter, 所有non-final属性的@Setter和@...

    lombok的jar包.zip

    Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法。出现的神奇就是在源码中没有getter和setter方法,但是在编译生成的字节码文件中有getter和setter方法。...

    mybatis逆向工程集合lombok最终版

    修改过源码的mybatis-generator代码生成器,去除mapper.xml里面的冗余字段,去除domain实体类中的冗余getset方法,改用lombok的@getter@setter@toString标签, ,内附安装破解教程, 小白可用, 一套清爽的改编版逆向工程...

    lombok-1.18.20.jar

    lombok通过注解消除实际开发中的样板式代码 样板式代码:getter、setter方法,重写toString、equals方法等,这些代码没有什么技术含量,但是常常要写,因此得名。

    lombok的jar包

    Lombok项目是一个java库,它可以自动插入到编辑器和构建工具中,增强java的性能。不需要再写getter、setter或equals方法,只要有一个注解,你的类就有一个功能齐全的构建器、自动记录变量等等。 Lombok常用注解编辑...

    lombok资源包

    在项目中使用Lombok可以减少很多重复代码的书写。比如说getter/setter/toString等方法的编写。

    Lombok(Java库)

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

    lombok.rar

    在项目中使用Lombok可以减少很多重复代码的书写。比如说getter/setter/toString等方法的编写。

    lombok-plugin-0.25-2018.3.zip

    Lombok是一种java工具,通过Lombok里面提供的注解,我们不用写get,set,toString等方法,简化我们的开发量. 官网地址:https://www.projectlombok.org/ 例如:QueryResult实体类,并没有写get,set和toString方法,而是打了...

    lombok-plugin-0.23-IC-2017.3.zip

    Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法。出现的神奇就是在源码中没有getter和setter方法,但是在编译生成的字节码文件中有getter和setter方法。...

    lombok-idea插件

    idea插件,使用了lombok的注解(@Setter,@Getter,@ToString,@@RequiredArgsConstructor,@EqualsAndHashCode或@Data)之后,就不需要编写或生成get/set等方法,很大程度上减少了代码量

    lombok、Eclipse代码简化插件

    Lombok想要解决了的是在我们实体Bean中大量的Getter/Setter方法,以及toString, hashCode等可能不会用到,但是某些时候仍然需要复写,以期方便使用的方法;在使用Lombok之后,将由其来自动帮你实现代码生成,注意,...

    lombok-plugin.zip

    我们在写数据库表的映射类的时候,需要写很多的getter/setter方法,我们可以使用Lombok这个jar包中的注解来简化开发。 @Data : 注解在类上, 为类提供读写属性, 此外还提供了 equals()、hashCode()、toString() 方法 ...

    IDEA插件-lombok-plugin-0.28-2019.3.rar

    Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法。出现的神奇就是在源码中没有getter和setter方法,但是在编译生成的字节码文件中有getter和setter方法。...

    Lombok插件

    @Data 注解在类上面,省略所有的get set equal toString方法 2 @Getter 注解在属性上,省略所有get方法 3 @Setter 注解在属性上,省略所有的set方法 4 @NoArgsConstructor注解类上,提供无参构造 5 @...

    lombok idea插件

    在项目中使用Lombok可以减少很多重复代码的书写。比如说getter/setter/toString等方法的编写。

Global site tag (gtag.js) - Google Analytics