一、简介与引入
   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相关推荐

  1. Apache工具类ToStringBuilder用法简介

    ToStringBuilder比较适合在打日志时,输出参数的信息,特别是在参数为对象时,该工具类能够很方便的自动打印对象中的属性值. package test; /** * * @author zhe ...

  2. ToStringBuilder学习(三):readResolve()方法与序列化

    在ToStringBuilder学习(一)中提到一个问题,即 readResolve方法是干啥的? 当时也没多想, 只是列在那里, 今天忙里偷闲地把搜点材料整理下这个问题. 原来这个方法跟对象的序列化 ...

  3. Spring工具类ToStringBuilder用法简介

    比如说我们需要打印某个方法的User参数对象 package test; /** * * @author zhengtian * @time 2012-6-28 */ public class Use ...

  4. java实体类转字符串写法ToStringBuilder的应用

    java开发中你可能需展示类的属性值,把对象记录为日志,调试输出等操作.ToStringBuilder提供简便类转字符串写法. 代码如下,这里采用的是lombok插件,也可以使用该插件自带的ToStr ...

  5. kies air java 证书_Java ToStringBuilder類代碼示例

    本文整理匯總了Java中org.apache.commons.lang3.builder.ToStringBuilder類的典型用法代碼示例.如果您正苦於以下問題:Java ToStringBuild ...

  6. 推荐使用的几款Java常用基础工具库

    通用工具类(字符串.时间格式化.BeanUtils.IO) 1. commons-lang3库 1.1. org.apache.commons.lang3.StringUtils类 日常代码中,我们经 ...

  7. MyBatis动态SQL(认真看看, 以后写SQL就爽多了)

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:cnblogs.com/homejim/p/9909657. ...

  8. Storm构建分布式实时处理应用初探(转)

    最近利用闲暇时间,又重新研读了一下Storm.认真对比了一下Hadoop,前者更擅长的是,实时流式数据处理,后者更擅长的是基于HDFS,通过MapReduce方式的离线数据分析计算.对于Hadoop, ...

  9. portlet java_探秘企业门户开发:Java Portlet入门(2)

    开发一个Portlet 下面这部分将介绍如何进行简单的Portlet开发.首先创建一个标准的Java项目,然后创建一个portlet.xml文件,在这个文件中定义哪些Portlet对哪些容器有效,以及 ...

  10. java接收xml数据_关于java后台如何接收xml格式的数据

    业务场景:用户发送下单请求,格式为xml格式,服务器接收数据完成下单,并返回结果给客户. 请求格式: 这段请求报文是xml格式的,在后台我们可以使用 javax.xml.bind.annotation ...

最新文章

  1. IDEA如何将项目中文件夹设置为Sources(蓝色)
  2. curl 视频vip接口 php,php中CURL的使用方法及详解教程
  3. 移动端web,tap与click事件
  4. BJUI验证Input非空和是否为数字
  5. 浅论ViewState及其与Session的关系
  6. DevOps之发布系统
  7. ActiveMQ消息优先级:工作原理
  8. DirectX API 编程起步 #01 项目设置
  9. bootscripttable前端排序无效_前端你应该知道的八条bug分享给你们
  10. BGP——BGP优化技术(总结+配置)
  11. Multi-View 3D Reconstruction
  12. stm32新建工程(详细)
  13. java时间日期类(Date、DateFormat、Calendar)学习
  14. 中国ai人工智能发展太快_新的AI计算遥远行星的速度快100,000倍
  15. linux-2.6.32在mini2440开发板上移植(15)之移植看门狗驱动
  16. Unity3d官网链接失效
  17. 计算机一级win7win10,win7升级win10数据是否会丢失?
  18. Lint-staged自动修复格式错误及小结
  19. 【机器学习-学习笔记】吴恩达老师机器学习课的笔记(黄海广博士)
  20. python爬hdu网页

热门文章

  1. Wannafly Winter Camp 2019 Day4 G 置置置换 (oeis/DP)
  2. matlab破解6.5免安装版 下载和使用说明
  3. 【数据结构】班级管理系统
  4. python菜鸟教程基础入门
  5. [教程] 中断闪存或备份后如何修复 MTK 或 SPD 变砖
  6. Mozilla Firefox安装Firepath Firebug找xpath最新可用的方法附老版本Firefox下载链接
  7. 《C程序设计语言》笔记 目录
  8. 6U VPX 超高速信号采集处理板(XC7K325T + 4 片DSP TMS320C6678)
  9. StringUtil里面的常用的方法
  10. 设计模式之单例模式:7种单例设计模式(Java实现)