// null 元素是相等的.

boolean[] bArr1 = null;

boolean[] bArr2 = null;

boolean b = Arrays.equals(bArr1, bArr2);                   // true

// 比较两个boolean数组.

bArr1 = new boolean[]{true, false};

bArr2 = new boolean[]{true, false};

b = Arrays.equals(bArr1, null);                            // false

b = Arrays.equals(bArr1, bArr2);                           // true

// 对于原生类型的数组可以用equals().

b = Arrays.equals(new byte[]{0}, new byte[]{0});           // true

b = Arrays.equals(new char[]{'a'}, new char[]{'a'});       // true

b = Arrays.equals(new short[]{0}, new short[]{0});         // true

b = Arrays.equals(new int[]{0}, new int[]{0});             // true

b = Arrays.equals(new long[]{0L}, new long[]{0L});         // true

b = Arrays.equals(new float[]{0F}, new float[]{0F});       // true

b = Arrays.equals(new double[]{0D}, new double[]{0D});     // true

// 如果比较的是Object型的数组,null元素是相等的.

// 如果于元素不是null, Java虚拟机会自动调用Object.equals().

b = Arrays.equals(new String[]{"a"}, new String[]{"a"});   // true

b = Arrays.equals(new String[]{null}, new String[]{null}); // true

b = Arrays.equals(new String[]{"a"}, new String[]{null});  // false

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐