【发布时间】:2021-07-01 19:45:23
【问题描述】:
想象一下有这样一种 POJO 类,它们只保存数据:
public class Pojo() {
@AnnotatedProp
String someField;
SubPojo someSubPojo;
String someOtherFieldA;
String someOtherFieldB;
}
public class SubPojo() {
@AnnotatedProp
String someSubField;
Integer someOtherFieldC;
}
Pojo 的someField 和SubPojo 的someSubField 使用@AnnotatedProp 属性标记为特殊。
我想修改Pojo 类型的对象。应修改所有带有@AnnotatedProp 注释的字符串字段。 “过滤器”应该修改这些字段的值,例如替换里面的一些字符。
我尝试使用 FieldUtils / 简单反射,但最终导致堆栈溢出(异常和这个论坛)。
过滤这些字段的最佳方法是什么?
感谢您的帮助。
【问题讨论】:
-
你能展示你试过的代码吗?我假设你使用了
FieldUtils.getFieldsListWithAnnotation,出了什么问题?
标签: java reflection javabeans pojo