ToStringBuilder如何忽略null和空字符串

日常开发中,经常用org.apache.commons.lang3.builder.ToStringBuilder工具类来记录日志,比如:

输出如下:

从结果上看:

行1:也就是Object默认的toString()输出,只有类名以及对象实例的hashCode,内部成员信息完全看不出来

行2:使用ToStringBuilder工具类输出对象信息,包含了几乎所有完整信息

行3:如果觉得行2的输出,类名太长,可以指定短前缀风格

但是不管是行2还是行3的风格,当field值为null或字符串时,仍然会输出,如果想把这些空值给过滤掉,可以参考下面的方法,加一个类:

再次运行:

从输出上看,null值以及空字符串都被成功过滤掉了

Original: https://www.cnblogs.com/yjmyzz/p/how-to-ignore-null-and-empty-string-using-reflectionToString-in-ToStringBuilder.html
Author: 菩提树下的杨过
Title: ToStringBuilder如何忽略null和空字符串

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/546771/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 蜻蜓点水说说Redis的String的奥秘

    本篇博客参考:掘金Redis小册 敖丙 如果面试官问你,单线程的Redis为什么那么快,你可能脱口而出,因为单线程,避免上下文切换;因为基于内存,比硬盘读写快很多;因为采用的是多路…

    技术杂谈 2023年7月25日
    060
  • zuul实现的限流

    限流一般可以根据客户端IP,请求的URL,用户登陆信息进行限制,每秒钟限制多次数,这从别一方面也提升了系统的性能,无用的并发没那么多了。 依赖包 org.springframewo…

    技术杂谈 2023年5月31日
    094
  • 自定义TREEVIEWUL无限极嵌套

    背景:做一个多级图片分类管理,当然要用到TreeView,在asp.net中已经提供了此服务器控件,参照效果,自定义一个简单可控性高的就当做练手吧! 效果:如图,小图标 折叠 展开…

    技术杂谈 2023年7月23日
    089
  • vscode 开发vue需要安装的插件

    https://blog.csdn.net/WindSneaker/article/details/123244006 Vetur支持.vue文件的语法高亮显示,除了支持templ…

    技术杂谈 2023年6月1日
    093
  • 【github项目】-CRM客户管理系统(基于SSM)

    CRM客户管理系统 基于SSM框架开发的CRM客户管理系统,适合刚学完SSM的同学,帮助夯实javase到ssm之间的知识,提升学生的逻辑思维,也了解到企业软件开发的流程及代码编写…

    技术杂谈 2023年7月10日
    074
  • 剑指offer计划28(搜索与回溯算法困难)—java

    1.1、题目1 剑指 Offer 37. 序列化二叉树 1.2、解法 这题给我笑死了,我看到题解有个解法,我愿称之为神。 public class Codec { private …

    技术杂谈 2023年7月25日
    055
  • 网盘搜索

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    技术杂谈 2023年5月31日
    092
  • 在工作中学习看问题的角度

    向架构师学习 修改 A 导致 B 出了问题。 我们: 这里是个坑,下次要小心点 也许我应该写文档记录下这件事 也许我应该告诉下其他同事 …… 架构师:从框架…

    技术杂谈 2023年7月11日
    070
  • 微信小程序–canvas画布实现图片的编辑

    概述 微信小程序–canvas画布实现图片的编辑 详细 一、前期准备工作 软件环境:微信开发者工具官方下载地址:https://mp.weixin.qq.com/deb…

    技术杂谈 2023年5月31日
    0103
  • 默认端口

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    技术杂谈 2023年5月31日
    098
  • java基础

    深入循环结构 for(循环条件1) { //循环操作1 for(循环条件2) { //循环操作2 } } 多层循环: 外层循环变量变化一次,内层循环变量要变化一轮。 一、循环打印输…

    技术杂谈 2023年7月11日
    056
  • 一个轻量级的C++log日志库

    一、简介 为了自己使用写的一个简单日志库,使用仅需包含一个头文件,支持Windows和Linux平台,支持多线程控制台输出以及写日志文件。 二、调用方式 #include &quo…

    技术杂谈 2023年7月23日
    096
  • idea中隐藏.idea文件夹和.iml文件

    idea中的.idea文件夹和.iml是平常几乎不使用的文件,在创建父子工程或者聚合工程时反而会对我们操作产生干扰,所以,一般情况下,我们都将其隐藏掉,步骤如下: 操作前: 具体操…

    技术杂谈 2023年6月1日
    0102
  • mysql 锁

    锁类型 表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低 * 这些存储引擎通过总是一次性同时获取所有需要的锁以及总是按相同的顺序获取表锁来避免死锁…

    技术杂谈 2023年7月25日
    062
  • Qt Xlsx使用教程、Qt操作Excel、Qt生成Excel图表、跨平台不依赖Office

    3.2 工程目录下添加源代码 来到工程目录下: 打开网上下载的源码路径: 3.3 在工程中引入xlsx源代码 3.4 修改main.cpp内容,测试 1 #include 2 #i…

    技术杂谈 2023年5月31日
    088
  • 解决计划任务bat脚本中涉及网络位置时遇到的问题

    解决掉困扰几天的bug神清气爽,赶紧来写篇随笔~ 前几天由于安全原因把一个Windows Server 2012 R2上的本地硬盘SFTP换成了一个NAS SFTP 然后理所当然的…

    技术杂谈 2023年7月11日
    064
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球