当前位置:网站首页>使用工具类把对象中的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;
}
边栏推荐
猜你喜欢

Keil升级到AC6后,到底有哪些变化?

Marketing Suggestions | You have an August marketing calendar to check! Suggest a collection!

IDEA执行Test操作导致数据插入时出现了重复数据

偏向锁/轻量锁/重级锁锁锁更健康,上锁解锁到底是怎么完成实现的

Concurrent CAS

Weekly Report 2022-8-4

Why do I recommend using smart async?

Hundred lines of code launch red hearts, why programmers lose their girlfriends!

周报2022-8-4

只有一台交换机,如何实现主从自动切换之nqa
随机推荐
MySQL内部函数介绍
matcher中find,matches,lookingAt匹配字符串的不同之处说明
flink cdc支持从oracle dg库同步吗
leetcode 剑指 Offer 10- II. 青蛙跳台阶问题
营销建议 | 您有一份八月营销月历待查收! 建议收藏 !
只有一台交换机,如何实现主从自动切换之nqa
PAT乙级-B1021 个位数统计(15)
Is there a problem with writing this?How to synchronize data in sql-client
dotnet OpenXML 解析 PPT 图表 面积图入门
无题九
无题三
15.1.1、md—md的基础语法,快速的写文本备忘录
【零基础玩转BLDC系列】无刷直流电机无位置传感器三段式启动法详细介绍及代码分享
19.服务器端会话技术Session
The Seven Weapons of Programmers
正则表达式replaceFirst()方法具有什么功能呢?
Marketing Suggestions | You have an August marketing calendar to check! Suggest a collection!
明天去订票,准备回家咯~~
ffmpeg drawtext add text watermark
七夕浪漫约会不加班,RPA机器人帮你搞定工作