如果您正在谈论比较值,我会考虑使用反射,然后逐场比较它们。
像这样:
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++; }
此代码尚未经过测试。您可能需要获取字段中的值并进行比较,而不仅仅是将字段之间进行比较,但这在理论上应该可行。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)