当前位置:网站首页>使用工具类把对象中的null值转换为空字符串(集合也可以使用)
使用工具类把对象中的null值转换为空字符串(集合也可以使用)
2022-08-05 09:35:00 【BOBO阿】
把单个对象中的String类型的null字段,转换为空字符串
/** * 把单个对象中的String类型的null字段,转换为空字符串 * 注意:只能转换String类型的字段 * @param <T> 待转化对象类型 * @param cls 待转化对象 * @return 转化好的对象 */
public static <T> T nullToString(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;
}
把集合中的所有对象中的String类型的null字段,转换为空字符串
/** * 把集合中的所有对象中的String类型的null字段,转换为空字符串 * 注意:只能转换String类型的字段 * @param sourceList 待转化的集合 * @return 转化好的集合 */
public static <T> List<T> listNullToString(List<T> sourceList) {
ArrayList<T> resultList = new ArrayList<>();
for (T cls : sourceList) {
Field[] fields = cls.getClass().getDeclaredFields();
if (fields == null || fields.length == 0) {
resultList.add(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();
}
}
}
resultList.add(cls);
}
return resultList;
}
边栏推荐
- dotnet OpenXML parsing PPT charts Getting started with area charts
- Example of Noise Calculation for Amplifier OPA855
- Assembly language (8) x86 inline assembly
- 自定义过滤器和拦截器实现ThreadLocal线程封闭
- PAT Grade B-B1020 Mooncake(25)
- MySQL advanced (twenty-seven) database index principle
- 什么是CRM决策分析管理?
- 干货!生成模型的评价与诊断
- Redis源码解析:Redis Cluster
- 如何实现按键的短按、长按检测?
猜你喜欢
seata源码解析:事务状态及全局锁的存储
pytorch余弦退火学习率CosineAnnealingLR的使用
IDEA执行Test操作导致数据插入时出现了重复数据
There is only one switch, how to realize the nqa of master-slave automatic switching
深度学习21天——卷积神经网络(CNN):天气识别(第5天)
Pytorch深度学习快速入门教程 -- 土堆教程笔记(三)
js 图形操作一(兼容pc、移动端实现 draggable属性 拖放效果)
5. Deploy the web project to the cloud server
leetcode: 529. Minesweeper Game
Redis源码解析:Redis Cluster
随机推荐
Creo 9.0 基准特征:基准平面
茄子科技CEO仇俊:以用户为中心,做用户真正需要的产品
轩辕实验室丨欧盟EVITA项目预研 第一章(四)
无题六
The Seven Weapons of Programmers
C语言-数组
5. Deploy the web project to the cloud server
seata源码解析:TM RM 客户端的初始化过程
Imitation SBUS fixed with serial data conversion
无题十四
Example of Noise Calculation for Amplifier OPA855
程序员的七种武器
蚁剑webshell动态加密连接分析与实践
mysql进阶(二十七)数据库索引原理
What is the function of the regular expression replaceAll() method?
HStreamDB Newsletter 2022-07|分区模型优化、数据集成框架进一步完善
无题七
欧盟 | 地平线 2020 ENSEMBLE:D2.13 SOTIF Safety Concept(下)
MySQL advanced (twenty-seven) database index principle
js 图形操作一(兼容pc、移动端实现 draggable属性 拖放效果)