java比较两个对象是否相同,并获取不同的内容的代码
时间: 2023-03-27 12:01:53 浏览: 69
可以使用equals方法来比较两个对象是否相同,如果不同则可以使用toString方法获取不同的内容。示例代码如下:
if(obj1.equals(obj2)){
System.out.println("两个对象相同");
} else {
System.out.println("两个对象不同,不同的内容为:" + obj1.toString() + " 和 " + obj2.toString());
}
相关问题
java快速对比两个对象是否相同,并获取不同的内容的代码
可以使用Java中的equals方法来比较两个对象是否相同,如果不同则可以使用toString方法获取不同的内容。示例代码如下:
if (obj1.equals(obj2)) {
System.out.println("两个对象相同");
} else {
System.out.println("两个对象不同,不同的内容为:" + obj1.toString() + obj2.toString());
}
快速对比两个java对象不同内容,并获取不同的内容的代码
可以使用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()方法将差异转换为字符串输出。