String[] arr = new String[]{"bc"};
String[] arr1 = new String[]{"bc"};
Object[] str = new Object[]{"ac","bc",arr,"bc"};
Object[] str1 = new Object[]{"ac","bc",arr1,"bc"};
System.out.println(Arrays.deepEquals(str, str1));
System.out.println(Arrays.equals(str, str1));
//deepEquals是如果数组中还嵌套数组的话,会进入这个数组里面进行嵌套数组的元素是否相同的判断
//而equals是不会进入嵌套的数组中的,只是直接判断这两个嵌套的数组是不是同一个对象.不是就为false;
所以上面的两个数组,用deepEquals比较的结果是为真,因为嵌套的数组的元素相同
而用equals比较的结果是false,因为arr和arr1不是同一个对象. |