Java数组的相等
程序员文章站
2022-11-23 11:35:23
在做数组的相等测试时使用 Arrays.equals() ,但是如果数组中内部自定义的类,需要自己定义equals()函数来覆盖Object.equals()public class Main { public static void main(String[] args) throws Exception { // 数组中是基本类型 没问题 int[] ary = {1, 2, 3, 4, 5, 6}; int[] ary1 =...
在做数组的相等测试时使用 Arrays.equals()
,但是如果数组中内部自定义的类,需要自己定义equals()
函数来覆盖Object.equals()
public class Main {
public static void main(String[] args) throws Exception {
// 数组中是基本类型 没问题
int[] ary = {1, 2, 3, 4, 5, 6};
int[] ary1 = {1, 2, 3, 4, 5, 6};
int[] ary2 = {1, 2, 3, 4};
System.out.println("数组 ary 是否与数组 ary1相等? :"
+ Arrays.equals(ary, ary1));
System.out.println("数组 ary 是否与数组 ary2相等? :"
+ Arrays.equals(ary, ary2));
// 如果是自定义类型,虽然实例域相同但是还是输出false
MyClass[] ary3 = new MyClass[2];
ary3[0] = new MyClass(0,"a");
ary3[1] = new MyClass(1,"b");
MyClass[] ary4 = new MyClass[2];
ary4[0] = new MyClass(0,"a");
ary4[1] = new MyClass(1,"b");
System.out.println("数组 ary3 是否与数组 ary4相等? :"
+ Arrays.equals(ary3, ary4));
}
}
class MyClass{
private int myInt;
private String myStr;
MyClass(int myInt, String myStr){
this.myInt = myInt;
this.myStr = myStr;
}
}
参考
[1] Cay S. Horstmannn.Java核心技术 卷I 基础知识(原书第10版)[M].机械工业出版社:北京,2017:166.
[2] Java 实例 - 判断数组是否相等
本文地址:https://blog.csdn.net/Ackerman2/article/details/107283925
上一篇: 有点冷
下一篇: 昨天岳父老夫聊发少年狂