请写一个方法 该方法用于两个对象之间是否发生改变 如果发生改变 则返回false 该对象里除了有基本类型 还存在 数组对象 和对象数组
时间: 2024-03-16 17:44:50 浏览: 44
对象和数组
可以使用Java中的深度比较工具类 `java.util.Objects` 中的 `deepEquals(Object a, Object b)` 方法来实现两个对象之间的深度比较。该方法可以比较两个对象中的所有元素,包括基本类型、数组对象和对象数组,只有当两个对象的所有元素都相等时,才返回true,否则返回false。
以下是示例代码:
```java
import java.util.Objects;
public class ObjectUtils {
/**
* 判断两个对象是否相等,包括基本类型、数组对象和对象数组
* @param a 对象a
* @param b 对象b
* @return 如果两个对象相等,则返回true;否则返回false
*/
public static boolean deepEquals(Object a, Object b) {
return Objects.deepEquals(a, b);
}
}
```
可以通过以下方式来使用该方法:
```java
public class Test {
public static void main(String[] args) {
int[] arr1 = {1, 2, 3};
int[] arr2 = {1, 2, 3};
int[] arr3 = {1, 2, 4};
Object[] objArr1 = {arr1, new Integer(1), "hello"};
Object[] objArr2 = {arr2, new Integer(1), "hello"};
Object[] objArr3 = {arr3, new Integer(1), "hello"};
System.out.println(ObjectUtils.deepEquals(arr1, arr2)); // true
System.out.println(ObjectUtils.deepEquals(arr1, arr3)); // false
System.out.println(ObjectUtils.deepEquals(objArr1, objArr2)); // true
System.out.println(ObjectUtils.deepEquals(objArr1, objArr3)); // false
}
}
```
阅读全文