急!急!高效从复杂对象(嵌套多层)中获取目标属性值并替换该值的解决办法
问题描述:
比如有一个复杂对象BigBO,里面的属性也是各种类型的BO或者List<BO>,而且BO属性中还可能嵌套小bo,存在多层嵌套情况。
需求是:
从这个BigBO中找到某个特定属性(也就是知道属性名,且在bigBO中没有同名属性,且寻找的属性类型为String。可能存在多个,存在对个情况是针对list<BO>)的值,并替换成其他值。
其他说明:复杂对象不固定
业务场景:我要把一些方法的入参(入参就是BigBO)中找到特定属性,并把该属性值替换成其他值。
我的解决方法:
是利用递归遍历复杂对象BigBO,找到目标属性并替换其值,但是效率比较慢。
我在递归遍历时对于不包含目标属性的bo不会遍历,且不遍历系统类,来减少无效的遍历。
请问各位大神,还有没有其他解决思路。这种递归遍历效率还是有点慢。