工具方法:一次性将对象中所有null字段,转为空字符串
当我们的 Java 对象在响应前端,或者在做数据导出的时候,我们并不希望将对象中为 null 的属性值直接返回给前端,不然显示或导出的就是一个 null ,这样对用户不是很友好。
如果我们一个个字段的去处理,这样不但增加了人力,而且使得代码中逻辑冗余,显得不够优雅。
于是下面我写了一个通用方法:将对象中的 String 类型属性的 null 值转换为空字符串的方法,具体代码如下:
/*** 把对象中的 String 类型的null字段,转换为空字符串* * @param <T> 待转化对象类型* @param cls 待转化对象* @return 转化好的对象*/
public static <T> T noNullStringAttr(T cls) {Field[] fields = cls.getClass().getDeclaredFields();if (fields == null || fields.length == 0) {return cls;}for (Field field : fields) {if ("String".equals(field.getType().getSimpleName())) {field.setAccessible(true);try {Object value = field.get(cls);if (value == null) {field.set(cls, "");}} catch (IllegalArgumentException | IllegalAccessException e) {e.printStackTrace();}}}return cls;
}
下面是效果:
【方法处理前】
在没有调用方法前,user 中未设置的字段值为 null
【方法处理后】
可以看到,我们调用上面的方法后,null 字段就消失了,变为了空字符串。
工具方法:一次性将对象中所有null字段,转为空字符串相关推荐
- Extjs 判断对象是非为null或者为空字符串
Ext.isEmpty(str,[allowEmptyString]) 如果str为 null undefined a zero-length array a zero-length string ( ...
- java get null_java 获取对象中为null的字段实例代码
下面一段简单的代码给大家分享java 获取对象中为null的字段,具体代码如下所述: private static String[] getNullPropertyNames(Object sourc ...
- 如何获取数组中嵌套对象中属性值不为空的对象?
如何获取数组中嵌套对象中属性值不为空的对象? 有一个对象数组如下: let arr = [ {id:1,aa:'aa1'}, {id:2,aa:'aa2',bb:{ cc:{dd:12} }}, {i ...
- mysql 小写null 大写null_mysql中的null字段值的处理及大小写问题
在MySQL中,NULL字段的处理,需要注意,当在处理查询条件中有NULL,很有可能你得到的值不是想要的,因为,在MySQL中,判断NULL值相等(=)或者不等(!=)都会返回false.主要出现在常 ...
- jeecg中excel导出字段判空处理
jeecg中excel导出字段判空处理 我们清楚,jeecg 导出 excel 采用的是 easypoi,不知道是否遇到过这种情况: 我们以一个实体属性为例: @Excel(name="问题 ...
- webapi json返回值null替换为空字符串
.netcore webapi json返回值序列化null替换为空字符串 场景:数据库中部分表字段允许空值,则代码中实体类对应的字段类型为可空类型Nullable<>,如int?,Dat ...
- java null 转空_java 对象属性为 null 值转为 空串
相信大家一定在开发中见过并且写过类似这样的代码: public Book getBook(int id) { if (id < 0) { return null; } return new Bo ...
- java对象序列化去掉字段_使用序列化查找对象中的脏字段
java对象序列化去掉字段 假设您正在开发一个将对象自动保存到数据库中的框架. 您需要检测两次保存之间所做的更改,以便仅保存已修改的字段. 如何检测脏场. 最简单的方法是遍历原始数据和当前数据,并分别 ...
- 使用序列化查找对象中的脏字段
假设您正在开发一个将对象自动保存到数据库中的框架. 您需要检测两次保存之间所做的更改,以便仅保存修改过的字段. 如何检测脏场. 最简单的方法是遍历原始数据和当前数据,并分别比较每个字段. 代码如下: ...
最新文章
- bat递归查找指定文件_dos命令find图文教程,查找搜索文件文本字符串,bat批处理脚本...
- 孙鑫VC++课程中用到的函数一览
- [转载]Eclipse SVN插件比较 Subclipse vs Subversive
- poj 1384 完全背包
- Candy Box (easy version)
- 【题解】大床Nim (2019,5.23)
- C语言序列是否有序、序列中删除指定数字、序列中整数去重、有序序列合并问题
- EZchip将推全球首款100核64位ARM A-53芯片
- 格式化表单js插件jquery.serializeJSON
- springmvc01
- Prototype使用$A()函数
- 经纬度距离计算小工具_一个NB工具大合集打网站,总有一款是你需要的
- BI项目规划的四个建议
- 人工智能商用成果落地撬动AI未来
- 「秘」那些管UI小姐姐要来的网站
- java项目第12期-淘客系统源码(安卓+IOS+java后端)【毕业设计】
- 关于iOS 报Command failed with exit 128: git错误额解决方案
- 阿里云Docker仓库
- System.Runtime.InteropServices.InvalidComObjectException:“COM 对象与其基础 RCW 分开后就不能再使用。”报错解决
- 【数说】人气网文修炼手册之最深的网文套路知多少