快速对比两个java对象不同内容,并获取不同的内容的代码
时间: 2023-03-27 19:01:42 浏览: 582
两个集合比较(新增、编辑、删除)
5星 · 资源好评率100%
可以使用Java自带的EqualsBuilder和ReflectionToStringBuilder类来实现快速对比两个Java对象不同内容,并获取不同的内容的代码。具体实现代码如下:
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.ReflectionToStringBuilder;
public class ObjectComparator {
public static void compareObjects(Object obj1, Object obj2) {
if (EqualsBuilder.reflectionEquals(obj1, obj2)) {
System.out.println("两个对象相同");
} else {
String diff = ReflectionToStringBuilder.toString(
EqualsBuilder.reflectionDiff(obj1, obj2));
System.out.println("两个对象不同,差异如下:\n" + diff);
}
}
}
在上述代码中,我们首先使用EqualsBuilder.reflectionEquals()方法比较两个对象是否相同,如果相同则直接输出“两个对象相同”。如果不同,则使用EqualsBuilder.reflectionDiff()方法获取两个对象的差异,并使用ReflectionToStringBuilder.toString()方法将差异转换为字符串输出。
阅读全文