【java】 Java中Arrays类的两个方法:deepEquals和equals
2016-12-21 15:34
260 查看
原文地址:http://blog.csdn.net/gaohuanjie/article/details/39157241
deepEquals和equals是Java中Arrays类的两个静态方法,可是它们之间有什么样的区别呢?
代码一、
[java] view
plain copy
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
String[][] name1 = {{ "G","a","o" },{ "H","u","a","n"},{ "j","i","e"}};
String[][] name2 = {{ "G","a","o" },{ "H","u","a","n"},{ "j","i","e"}};
System.out.println(Arrays.equals(name1, name2)); // false
System.out.println(Arrays.deepEquals(name1, name2));// true
}
}
代码二、
[java] view
plain copy
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
String[] name1 = {"G","a","o","H","u","a","n","j","i","e"};
String[] name2 = {"G","a","o","H","u","a","n","j","i","e"};
System.out.println(Arrays.equals(name1, name2)); // true
System.out.println(Arrays.deepEquals(name1, name2)); // true
}
}
总结:
1、deepEquals用于判定两个指定数组彼此是否深层相等,此方法适用于任意深度的嵌套数组。
2、equals用于判定两个数组是否相等,如果两个数组以相同顺序包含相同元素,则返回true,否则返回false。
3、通过比对“代码一”和“代码二”我们可以得出这样一个结论:如果两个数组使用equals返回true,则使用deepEquals也返回true,也就是说在比较的两个数组均为一维数组的前提下,equals和deepEquals的比较结果没有差别;
4、如果要比较多维数组,则需要使用deepEquals方法;
deepEquals和equals是Java中Arrays类的两个静态方法,可是它们之间有什么样的区别呢?
代码一、
[java] view
plain copy
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
String[][] name1 = {{ "G","a","o" },{ "H","u","a","n"},{ "j","i","e"}};
String[][] name2 = {{ "G","a","o" },{ "H","u","a","n"},{ "j","i","e"}};
System.out.println(Arrays.equals(name1, name2)); // false
System.out.println(Arrays.deepEquals(name1, name2));// true
}
}
代码二、
[java] view
plain copy
import java.util.Arrays;
public class Test {
public static void main(String[] args) {
String[] name1 = {"G","a","o","H","u","a","n","j","i","e"};
String[] name2 = {"G","a","o","H","u","a","n","j","i","e"};
System.out.println(Arrays.equals(name1, name2)); // true
System.out.println(Arrays.deepEquals(name1, name2)); // true
}
}
总结:
1、deepEquals用于判定两个指定数组彼此是否深层相等,此方法适用于任意深度的嵌套数组。
2、equals用于判定两个数组是否相等,如果两个数组以相同顺序包含相同元素,则返回true,否则返回false。
3、通过比对“代码一”和“代码二”我们可以得出这样一个结论:如果两个数组使用equals返回true,则使用deepEquals也返回true,也就是说在比较的两个数组均为一维数组的前提下,equals和deepEquals的比较结果没有差别;
4、如果要比较多维数组,则需要使用deepEquals方法;
相关文章推荐
- Java中Arrays类的两个方法:deepEquals和equals
- Java中Arrays类的两个方法:deepEquals和equals
- 2017/12/31Java基础学习——判断两个数组是否相同のArrays.equals(a, b)方法
- JAVA中两个不同对象的equals方法使用注意点
- 学习笔记-JAVA-考点10-什么情况下需要重写equals和hashcode()两个方法?
- Java中打印出来完全相同的两个字符串,用equals方法比较返回的却是false的原因
- Java学习笔记33. 比较两个数组是否相等 Arrays.equals(A,B)方法
- java equals与hashCode 两个重要方法的重写
- Java中两个对象的比较 equals()方法和==号的区别
- Java中两个对象的比较 equals()方法和==号的区别
- 深入java的equals方法,怎么比较两个对象的内容是否相等?对象的内容指的是什么?
- toCharArray()方法 和 Java中比较两个字符串是否相等equals方法
- 【Java入门第一季】Object类的两个方法toString()和equals()
- Java J2SE / 基础类 中关于 为什么要改写java中Object类的equals方法 的 问题
- java中equals方法和“==”的比较
- Java equals方法实现总结[原]
- Java语言深入:深入研究Java equals方法,equals,==,equals用法
- java 中 == 和 equals()方法的 比较
- java中动画消除闪烁的两个方法
- 如何在Java中避免equals方法的隐藏陷阱