要写这么一个函数,参数是一个hibernate bean对象,利用反射 过滤掉其中的null属性,将null属性赋值为特定字符串,由于属性都是private的,不能用field.set方法来赋值。
或者有其他更好的方法,欢迎指教!
利用 反射 来过滤 bean中的null 属性
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- huxp1010 2009-04-03 16:27关注
[code="java"]
public static Object testRef(Object bo) {
if(bo == null){
return null;
}
Class clz = bo.getClass();
Field[] f = clz.getDeclaredFields();
try {
for (int i = 0; i < f.length; i++) {
f[i].setAccessible(true);
if (f[i].get(bo) == null) {
f[i].set(bo, "default");
}
}
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
return bo;
}
[/code]
对于类型可以再进行一些扩展 bo中均为private的String,其它类型可以再扩展本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 2024-五一综合模拟赛
- ¥15 下图接收小电路,谁知道原理
- ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
- ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
- ¥15 手机接入宽带网线,如何释放宽带全部速度
- ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
- ¥15 ETLCloud 处理json多层级问题
- ¥15 matlab中使用gurobi时报错
- ¥15 这个主板怎么能扩出一两个sata口
- ¥15 不是,这到底错哪儿了😭