Java开发中有个问题很常见,如何记录一个对象修改前后属性的变化情况。编码过好几次了,总是因为这样那样的原因没能记下来,今天补下吧。不废话,上代码。
public static String compareFields(Object obj1, Object obj2, String[] ignoreArr) {
try {
JSONObject json = new JSONObject();
JSONObject json1 = new JSONObject();
List<String> ignoreList = null;
if (ignoreArr != null && ignoreArr.length > 0) {
ignoreList = Arrays.asList(ignoreArr);
}
if (obj1 == null && obj2 == null) {
}
if (obj1 == null) {
Class clazz = obj2.getClass();
//获取object的属性描述
PropertyDescriptor[] pds = Introspector.getBeanInfo(clazz, Object.class).getPropertyDescriptors();
for (PropertyDescriptor pd : pds) {
String name = pd.getName();