- 浏览: 513244 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (563)
- 工作经验 (12)
- 数据库 (13)
- Servlet (10)
- Struts2 (1)
- Spring (25)
- Eclipse (5)
- Hibernate (5)
- Eclips (8)
- HTTP (7)
- J2EE (21)
- EHcache (1)
- HTML (11)
- 工具插件使用 (20)
- JPA (2)
- 杂谈 (17)
- 数据结构与算法 (3)
- Cloud Foundry (1)
- 安全 (10)
- J2SE (57)
- SQL (9)
- DB2 (6)
- 操作系统 (2)
- 设计模式 (1)
- 版本代码管理工具 (13)
- 面试 (10)
- 代码规范 (3)
- Tomcat (12)
- Ajax (5)
- 异常总结 (11)
- REST (2)
- 云 (2)
- RMI (3)
- SOA (1)
- Oracle (12)
- Javascript (20)
- jquery (7)
- JSP自定义标签 (2)
- 电脑知识 (5)
- 浏览器 (3)
- 正则表达式 (3)
- 建站解决问题 (38)
- 数据库设计 (3)
- git (16)
- log4j (1)
- 每天100行代码 (1)
- socket (0)
- java设计模式 耿祥义著 (0)
- Maven (14)
- ibatis (7)
- bug整理 (2)
- 邮件服务器 (8)
- Linux (32)
- TCP/IP协议 (5)
- java多线程并发 (7)
- IO (1)
- 网页小工具 (2)
- Flash (2)
- 爬虫 (1)
- CSS (6)
- JSON (1)
- 触发器 (1)
- java并发 (12)
- ajaxfileupload (1)
- js验证 (1)
- discuz (2)
- Mysql (14)
- jvm (2)
- MyBatis (10)
- POI (1)
- 金融 (1)
- VMWare (0)
- Redis (4)
- 性能测试 (2)
- PostgreSQL (1)
- 分布式 (2)
- Easy UI (1)
- C (1)
- 加密 (6)
- Node.js (1)
- 事务 (2)
- zookeeper (3)
- Spring MVC (2)
- 动态代理 (3)
- 日志 (2)
- 微信公众号 (2)
- IDEA (1)
- 保存他人遇到的问题 (1)
- webservice (11)
- memcached (3)
- nginx (6)
- 抓包 (1)
- java规范 (1)
- dubbo (3)
- xwiki (1)
- quartz (2)
- 数字证书 (1)
- spi (1)
- 学习编程 (6)
- dom4j (1)
- 计算机系统知识 (2)
- JAVA系统知识 (1)
- rpcf (1)
- 单元测试 (2)
- php (1)
- 内存泄漏cpu100%outofmemery (5)
- zero_copy (2)
- mac (3)
- hive (3)
- 分享资料整理 (0)
- 计算机网络 (1)
- 编写操作系统 (1)
- springboot (1)
最新评论
-
masuweng:
亦论一次OutOfMemoryError的定位与解错 -
变脸小伙:
引用[color=red][/color]百度推广中运用的技术 ...
Spring 3 mvc中返回pdf,json,xml等不同的view -
Vanillva:
不同之处是什么??
Mybatis中的like查询 -
thrillerzw:
转了。做个有理想的程序员
有理想的程序员必须知道的15件事 -
liujunhui1988:
觉得很有概括力
15 个必须知道的 Java 面试问题(2年工作经验)
源:http://himichaelchu.iteye.com/blog/2124349
评:
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很好的解决了这个问题。让我们一起来看一个例子:
我们的代码经常这样:
Java代码 收藏代码
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) + ")";
}
}
其实,我们的代码可以这样:
Java代码 收藏代码
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方法获取值。
评:
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很好的解决了这个问题。让我们一起来看一个例子:
我们的代码经常这样:
Java代码 收藏代码
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) + ")";
}
}
其实,我们的代码可以这样:
Java代码 收藏代码
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方法获取值。
发表评论
-
BeanCopier系列之一:特性测试
2018-06-12 12:15 430源:http://czj4451.iteye.com/ ... -
extends和super的区别
2018-01-14 19:05 588源:http://bbs.csdn.net/topics/38 ... -
double转BigDecimal,数变大
2017-09-09 14:02 610源:http://blog.csdn.net/linbrain ... -
循环依赖检测方法 spring源码方法
2016-07-06 18:58 1164场景:checkForAliasCircle(name, al ... -
Oracle模糊查询之(4.采用全文索引解决模糊查询,给出具体步骤)采用全文索引解决模糊查询速度慢的问题[主文]
2016-03-24 16:16 850源:http://blog.csdn.net/haiross/ ... -
理解和正确使用Java中的断言(assert)
2016-03-24 15:55 1075源:http://blog.csdn.net/leic ... -
string stringbuffer stringbuilder区别
2016-03-07 15:39 452string 是不可变类,内部数据结构为final char数 ... -
接口和抽象类有什么区别
2015-11-27 15:58 433源:http://m.blog.csdn.net/bl ... -
Java中Enum类型的序列化
2015-11-25 14:57 1234源:http://mysun.iteye.com/blog/1 ... -
serialVersionUID的作用
2015-11-08 15:27 579源:http://www.cnblogs.com/gu ... -
dom4j写xml时&会被转义成&的解决方法?
2015-09-08 20:52 982源:http://www.iteye.com/problems ... -
java ImageIO处理图像的封装
2015-09-06 10:17 363源:http://blog.csdn.net/hu_sheng ... -
XML 和 java对象相互转换
2015-08-17 16:45 0源:http://hbiao68.iteye.com/blog ... -
java 版本更迭
2015-08-03 10:19 601源:https://en.wikipedia.org/wiki ... -
谈抽象类与接口的区别之一
2015-04-23 11:46 536源:http://wenku.baidu.com/li ... -
Java基本数据类型
2015-04-17 14:57 680源:http://blog.csdn.net/zuolongs ... -
JAVA深复制(深克隆)与浅复制(浅克隆)
2015-04-17 14:23 430源:http://www.cnblogs.com/yxnchi ... -
java中的四种访问权限是?
2015-04-16 17:58 543源:http://zhidao.baidu.com/link? ... -
DMA Direct Memory Access(存储器直接访问)
2015-04-02 15:55 560源:http://baike.baidu.com/li ... -
HmacMD5 调通 java与ios端
2015-04-02 15:53 927见 github代码 https://github.com/m ...
相关推荐
Lombok是一款非常实用的Java库,它通过注解的方式简化了Java代码的编写,特别是减少了getter、setter、构造函数、equals、hashCode以及toString等方法的编写。Lombok的核心理念是减少样板代码,让代码更加简洁易读。...
Lombok 是一个 Java 开发工具库,它通过注解处理器自动为 Java 类生成常见的 getter、setter、构造器、equals、hashCode 和 toString 方法,极大地减少了样板代码。本压缩包"Lombok_lombok_源码.zip"包含了 Lombok ...
Lombok是一款Java库,它通过注解处理器在编译时自动插入代码,简化了Java对象的创建和维护,从而减少了冗余的getter、setter、equals、hashCode和toString方法的编写。Lombok的主要目标是使Java代码更加简洁,提高...
例如,`@Data`注解可以自动为类生成所有的getter和setter,甚至equals(), hashCode()和toString()方法。 安装Lombok到Eclipse中,一般有两种方法:一种是通过Eclipse的插件市场进行在线安装,另一种就是使用我们...
在 Java 开发中,Lombok 提供的注解可以极大地简化类的构建,特别是对于那些包含大量 getter、setter、equals、hashCode 和 toString 方法的数据传输对象(DTO)。 1. **注解介绍** - `@Data`: 这个注解会自动生成...
Java 对象的toString和equals方法重写 在 Java 中,每个对象都继承自 Object 类,而 Object 类中定义了两个重要的方法:toString() 和 equals()。这两个方法都是非常重要的,它们分别用于对象的字符串表示和对象...
`@Data` 是Lombok提供的一个复合注解,它包含了`@ToString`、`@EqualsAndHashCode`、`@Getter`和`@Setter`,可以自动为类的所有非静态、非瞬态字段生成getter和setter方法,并且提供默认的toString()和equals()、...
Lombok是一款非常流行的Java库,它通过提供一系列的注解,极大地简化了Java代码的编写,尤其是减少了getter、setter、equals、hashCode、toString等方法的编写。这个"lombok-jar包.zip"文件包含了Lombok的jar包,是...
Eclipse 整合 Lombok 文档 Lombok 是一个 Java 库,用于减少 Java 代码中的 boilerplate 代码。它可以自动为 Java 类生成 getter、setter、equals、hashCode、toString 等方法,从而提高开发效率。 Eclipse 整合 ...
`lombok.jar`是Lombok库的可执行文件,包含了Lombok的所有功能。它通过被集成到IDE中,使得开发者可以在编写Java类时直接使用Lombok的注解,如`@Data`、`@Setter`、`@Getter`等,这些注解会自动生成相应的 getter 和...
它可以自动插入那些重复的代码,比如getter、setter、equals、hashCode、toString以及构造函数等。Lombok通过注解的方式,在编译时给Java源码增加必要的方法。安装Lombok插件之后,开发者在开发过程中可以更加专注于...
Lombok 是一个 Java 开发工具库,它通过注解处理器自动为 Java 类生成常见的 getter、setter、构造器、equals、hashCode、toString 方法等,从而减少了大量样板代码的编写,提高了开发效率。Lombok 的核心思想是减少...
Lombok的1.16.20版本是它的一个历史版本,提供了许多便利的功能,使得开发者不必手动编写大量的getter、setter、构造函数以及equals()、hashCode()和toString()等常规方法。 Lombok的核心在于它的注解,这些注解...
Lombok 是一个 Java 开发工具,它通过注解的方式简化了 Java 类的编写,免去了开发者手动编写 getter、setter、构造器、equals、hashCode 和 toString 方法等繁琐的代码。Lombok 插件则是用于集成 Lombok 功能到开发...
Lombok 是一个非常受欢迎的 Java 开发工具,它通过注解的方式简化了 Java 代码,尤其是数据类的编写。在给定的压缩包文件 "lombok-plugin-2021.3.zip" 中,我们找到了适用于 IntelliJ IDEA 2021.3 版本的 Lombok ...
`@Data`是一个组合注解,包含了`@ToString`、`@EqualsAndHashCode`、`@Getter`(对所有字段)和`@Setter`(对所有非final字段)。这大大提高了代码的可读性和维护性,因为这些常见的样板代码都由Lombok自动生成,不...
Lombok插件是Java开发者常用的工具之一,它极大地提高了开发效率,尤其是在处理大量getter、setter、构造函数和其他常规样板代码时。Lombok通过提供注解的方式,允许开发者在源代码中消除这些冗余的代码,使代码更加...
Lombok是一款非常受欢迎的Java库,它通过注解的方式简化了Java代码的编写,特别是减少了getter、setter、equals、hashCode、toString等冗余方法的编写。在开发环境中,尤其是IntelliJ IDEA这样的集成开发环境(IDE)...
Lombok是一款非常受欢迎的Java库,它通过提供一系列的注解来简化Java代码,从而减少开发者在编写getter、setter、构造函数、equals()、hashCode()和toString()等常见方法时的工作量。Lombok.jar文件是这个库的可执行...
Lombok 是一个非常实用的Java库,它通过提供一系列注解来简化代码,尤其是在处理getter、setter、equals、hashCode、toString等常规样板代码时。Lombok 的目标是减少Java开发中的冗余代码,提高开发效率,使代码更加...