1、

项目中一般都需要打印日志,所有实体的toString()方法都是用简单的"+",因为每"+" 一个就会 new 一个 String 对象,这样如果系统内存小的话会暴内存。使用ToStringBuilder就可以避免暴内存这种问题。

ToStringBuilder的reflectionToString方法:

  logger.info("请求数据:"+ToStringBuilder.reflectionToString(req));

2、

ToStringBuilder在包 common-lang 中,主要用于一个类的格式化输出。ToStringBuilder类中的append方法可以向该类添加基本类型、数组和对象 ,只有添加的方法才会被toString方法输出。
        ToStringStyle类则是对输出的内容进行格式化。

demo

import org.apache.commons.lang.builder.ToStringBuilder;public class Person {private String name;private int sex;private String addr;public String getAddr() {return addr;}public void setAddr(String addr) {this.addr = addr;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getSex() {return sex;}public void setSex(int sex) {this.sex = sex;}@Overridepublic String toString(){return ToStringBuilder.reflectionToString(this,ToStringStyle.MULTI_LINE_STYLE);}
}

tester

public class PersonTest {/*** @param args*/public static void main(String[] args) {Person person = new Person();person.setName("watchdb");person.setSex(1);person.setAddr("shanghai.zhangjiang");System.out.println(person.toString());}}

ToStringStyle参数说明:

1. DEFAULT_STYLE
   Person@fd13b5[name=watchdb,sex=1,addr=shanghai.zhangjiang]
2. MULTI_LINE_STYLE

Person@fd13b5[
name=watchdb
sex=1
addr=shanghai.zhangjiang
]

3. NO_FIELD_NAMES_STYLE
   Person@fd13b5[watchdb,1,shanghai.zhangjiang]
4. SHORT_PREFIX_STYLE
  Person[name=watchdb,sex=1,addr=shanghai.zhangjiang]
5. SIMPLE_STYLE
   watchdb,1,shanghai.zhangjiang

ToStringBuilder.reflectionToString

ToStringBuilder.reflectionToString相关推荐

  1. Apache工具类ToStringBuilder用法简介

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

  2. Spring工具类ToStringBuilder用法简介

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

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

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

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

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

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

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

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

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

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

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

  8. 对象拷贝类PropertyUtils,BeanUtils,BeanCopier的技术沉淀

    2019独角兽企业重金招聘Python工程师标准>>> 对象拷贝类PropertyUtils,BeanUtils,BeanCopier的技术沉淀 博客分类: java 对象拷贝的应用 ...

  9. Jackson 通过自定义注解来控制json key的格式

    Jackson 通过自定义注解来控制json key的格式 最近我这边有一个需求就是需要把Bean中的某一些特殊字段的值进行替换.而这个替换过程是需要依赖一个第三方的dubbo服务的.为了使得这个转换 ...

  10. BeanUtils使用

    1.BeanUtils.populate 可以把一个map中的属性拷贝到实体javaBean,例子: Student: package com.cy.model;import org.apache.c ...

最新文章

  1. raid模式_基于网络的磁盘热备技术|网络RAID-1
  2. 钱海丰:农药污染下的土壤微生态响应与风险预测​(今晚7点半)
  3. php 清除数据表中所有数据库,清除一个数据库里所有表的数据
  4. 使用Exchange 的SMTP连接器路由/中继邮件的设定图例
  5. linux php 执行python,Linux(Ubuntu)下php使用exec调用python程序返回json数据
  6. js数组的sort排序(获取中位数)
  7. 2017年UI、Web、微服务顶级框架都有啥?不看就落伍了1
  8. POI导出数据内存溢出问题
  9. A ndroid 获取屏幕高度、标题高度、状态栏高度详解
  10. java.exe占用8081端口
  11. 无线路由器设置成交换机
  12. 用DEV-C++写一个走迷宫小游戏1.2最终版(完结,撒花)
  13. xlsx表格怎么做汇总统计_办公软件excel表格数据统计-如何将多个EXCEL表格的数据进行汇总?...
  14. 360cdn能挡住cc攻击_云防CDN是网页CC攻击的克星?cdn集群防御
  15. Python对象赋值和拷贝
  16. c语言 爱心 (koi奋斗中~~)
  17. Freemarker使用mht制作导出word模板
  18. 谁是合约届「技术之王」?
  19. 项目场景-------滚动条横向竖向同步滚动
  20. Python 爬虫实战(二)爬取携程(国际)机票

热门文章

  1. Hadoop大数据技术原理与应用课后习题答案汇总
  2. 2021 CSDN查看自己关注的人
  3. 程序员必备高频英语词汇
  4. GBase数据库日常运维操作(一)
  5. 微信 html5商城,微信公众号H5商城源码
  6. 低配本用win10服务器系统,低配电脑装win10会怎么样
  7. EasyUI框架01——基础学习
  8. MacBook安装telnet工具和使用
  9. 蓝屏dump分析教程,附分析工具WinDbg(x86 x64)6.12.0002.633下载
  10. Matlab·Simulink的使用—【S函数的创建与应用】