在两个bean中生成字段差异的常用算法?

在两个bean中生成字段差异的常用算法?,第1张

在两个bean中生成字段差异的常用算法

如果您正在谈论比较值,我会考虑使用反射,然后逐场比较它们。

像这样:

    Field[] oldFields = oldInstance.class.getDeclaredFields();    Field[] newFields = newInstance.class.getDeclaredFields();    StringBuilder changes = new StringBuilder();    Arrays.sort(oldFields);    Arrays.sort(newFields);    int i = 0;    for(Field f : oldFields)    {       if(!f.equals(newFields[i]))       {          changes.append(f.getName()).append(" has changed.n");       }       i++;    }

此代码尚未经过测试。您可能需要获取字段中的值并进行比较,而不仅仅是将字段之间进行比较,但这在理论上应该可行。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5639452.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存