ToStringBuilder
一、简介与引入
1、ToStringBuilder、HashCodeBuilder、 EqualsBuilder、ToStringStyle、 ReflectionToStringBuilder、CompareToBuilder等这些类都是位于commons-lang.jar下面的,所以要使用这些类一定要导入commons-lang.jar。
2、为什么要使用 ToStringBuilder?
系统中一般都要打印日志的,因为所有实体的toString()方法 都用的是简单的"+",因为每"+" 一个就会 new 一个 String 对象,这样如果系统内存小的话会暴内存(前提系统实体比较多)。使用ToStringBuilder就可以避免暴内存这种问题的。
二、示例学习
1、ToStringBuilder的append方法
ToStringBuilder类主要用于类的格式化输出。ToStringBuilder中append方法可以向该类添加基本类型、数组、和对象,只有添加的方法才会被toString输出。
2、ToStringBuilder的reflectionToString方法
该方法主要是把类对应的基本属性和值输出来.
ToStringStyle参数说明:
1. DEFAULT_STYLE
com.entity.Person@182f0db[name=John Doe,age=33,smoker=false]
2. MULTI_LINE_STYLE
com.entity.Person@182f0db[
name=John Doe
age=33
smoker=false
]
3. NO_FIELD_NAMES_STYLE
com.entity.Person@182f0db[John Doe,33,false]
4. SHORT_PREFIX_STYLE (即截去了包名)
Person[name=John Doe,age=33,smoker=false]
5. SIMPLE_STYLE
John Doe,33,false
###############################################
附加:
无论你在开发哪中 Java 应用程序,都免不了要写很多工具类/工具函数。你可知道,有很多现成的工具类可用,并且代码质量都很不错,不用你写,不用你调试,只要你发现。
在 Apache Jakarta Common 中, Lang 这个 Java 工具包是所有 Apache Jakarta Common 项目中被使用最广泛的,几乎你所知道的名气比较大的软件里面都有用到它,包括 Tomcat, Weblogic, Websphere, Eclipse 等等。我们就从这个包开始介绍整个 common 项目。
Lang 中工具类比较多,这里介绍几个主要的:
ClassUtils: getShortClassName,这个函数应该在 java.lang.Class 类中有的,我看到很多人自己写这个函数。getAllInterfaces,convertClassNamesToClasses,isAssignable,primitivesToWrappers,isInnerClass。
NumberUtils: 关于数字以及数字和字符串转换的类 stringToInt,toDouble,createNumber,isAllZeros, int compare(float lhs, float rhs), isNumber(String str),double min(double[] array)。
RandomUtils: 用于产生随机数的。
DateFormatUtils: 日期时间格式转换,以及本地时间和 UTC 时间转换。
DateUtils: 日期工具类。isSameDay,truncate,round,modify。
基于反射机制的几个类:
CompareToBuilder: 比较,用在算法、排序、比较的地方。reflectionCompare,append。
EqualsBuilder: 通过反射机制比较。reflectionEquals 很多项目中用到。
HashCodeBuilder: 可以通过反射生成 hash code,很多算法的地方涉及到 hash code,但是并不是每个人都知道一种 hash code 的生成方法。
ToStringBuilder: 当你需要重载 toString 函数而不想写代码把当前类的所有成员信息列出来,可以用这个函数。
其它的几个类我用得比较少:
SerializationUtils Java中得序列化比较奥妙,容易出错啊。
SystemUtils 可以读取一些关于 jdk 信息,操作系统信息的工具类。
ToStringBuilder相关推荐
- Apache工具类ToStringBuilder用法简介
ToStringBuilder比较适合在打日志时,输出参数的信息,特别是在参数为对象时,该工具类能够很方便的自动打印对象中的属性值. package test; /** * * @author zhe ...
- ToStringBuilder学习(三):readResolve()方法与序列化
在ToStringBuilder学习(一)中提到一个问题,即 readResolve方法是干啥的? 当时也没多想, 只是列在那里, 今天忙里偷闲地把搜点材料整理下这个问题. 原来这个方法跟对象的序列化 ...
- Spring工具类ToStringBuilder用法简介
比如说我们需要打印某个方法的User参数对象 package test; /** * * @author zhengtian * @time 2012-6-28 */ public class Use ...
- java实体类转字符串写法ToStringBuilder的应用
java开发中你可能需展示类的属性值,把对象记录为日志,调试输出等操作.ToStringBuilder提供简便类转字符串写法. 代码如下,这里采用的是lombok插件,也可以使用该插件自带的ToStr ...
- kies air java 证书_Java ToStringBuilder類代碼示例
本文整理匯總了Java中org.apache.commons.lang3.builder.ToStringBuilder類的典型用法代碼示例.如果您正苦於以下問題:Java ToStringBuild ...
- 推荐使用的几款Java常用基础工具库
通用工具类(字符串.时间格式化.BeanUtils.IO) 1. commons-lang3库 1.1. org.apache.commons.lang3.StringUtils类 日常代码中,我们经 ...
- MyBatis动态SQL(认真看看, 以后写SQL就爽多了)
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:cnblogs.com/homejim/p/9909657. ...
- Storm构建分布式实时处理应用初探(转)
最近利用闲暇时间,又重新研读了一下Storm.认真对比了一下Hadoop,前者更擅长的是,实时流式数据处理,后者更擅长的是基于HDFS,通过MapReduce方式的离线数据分析计算.对于Hadoop, ...
- portlet java_探秘企业门户开发:Java Portlet入门(2)
开发一个Portlet 下面这部分将介绍如何进行简单的Portlet开发.首先创建一个标准的Java项目,然后创建一个portlet.xml文件,在这个文件中定义哪些Portlet对哪些容器有效,以及 ...
- java接收xml数据_关于java后台如何接收xml格式的数据
业务场景:用户发送下单请求,格式为xml格式,服务器接收数据完成下单,并返回结果给客户. 请求格式: 这段请求报文是xml格式的,在后台我们可以使用 javax.xml.bind.annotation ...
最新文章
- IDEA如何将项目中文件夹设置为Sources(蓝色)
- curl 视频vip接口 php,php中CURL的使用方法及详解教程
- 移动端web,tap与click事件
- BJUI验证Input非空和是否为数字
- 浅论ViewState及其与Session的关系
- DevOps之发布系统
- ActiveMQ消息优先级:工作原理
- DirectX API 编程起步 #01 项目设置
- bootscripttable前端排序无效_前端你应该知道的八条bug分享给你们
- BGP——BGP优化技术(总结+配置)
- Multi-View 3D Reconstruction
- stm32新建工程(详细)
- java时间日期类(Date、DateFormat、Calendar)学习
- 中国ai人工智能发展太快_新的AI计算遥远行星的速度快100,000倍
- linux-2.6.32在mini2440开发板上移植(15)之移植看门狗驱动
- Unity3d官网链接失效
- 计算机一级win7win10,win7升级win10数据是否会丢失?
- Lint-staged自动修复格式错误及小结
- 【机器学习-学习笔记】吴恩达老师机器学习课的笔记(黄海广博士)
- python爬hdu网页
热门文章
- Wannafly Winter Camp 2019 Day4 G 置置置换 (oeis/DP)
- matlab破解6.5免安装版 下载和使用说明
- 【数据结构】班级管理系统
- python菜鸟教程基础入门
- [教程] 中断闪存或备份后如何修复 MTK 或 SPD 变砖
- Mozilla Firefox安装Firepath Firebug找xpath最新可用的方法附老版本Firefox下载链接
- 《C程序设计语言》笔记 目录
- 6U VPX 超高速信号采集处理板(XC7K325T + 4 片DSP TMS320C6678)
- StringUtil里面的常用的方法
- 设计模式之单例模式:7种单例设计模式(Java实现)