java 获取两个对象属性不同的内容代码
时间: 2023-03-27 21:01:59 浏览: 107
可以使用反射机制来获取两个对象属性不同的内容,具体代码如下:
```java
public static void compareObject(Object obj1, Object obj2) throws Exception {
Class<?> clazz1 = obj1.getClass();
Class<?> clazz2 = obj2.getClass();
if (!clazz1.equals(clazz2)) {
System.out.println("两个对象类型不同,无法比较");
return;
}
Field[] fields = clazz1.getDeclaredFields();
for (Field field : fields) {
field.setAccessible(true);
Object value1 = field.get(obj1);
Object value2 = field.get(obj2);
if (!value1.equals(value2)) {
System.out.println("属性名:" + field.getName() + ",对象1的值:" + value1 + ",对象2的值:" + value2);
}
}
}
```
以上代码会比较两个对象的属性值,如果不同则输出属性名和两个对象的属性值。
阅读全文