第1个回答 推荐于2016-06-23
楼主遇到的情况不适合重写equals方法.可以使用Arrays类中的静态方法public static boolean equals(int[] arg0,int[] arg1)来对两个数组进行比较.使用方法如下.
首先引入Arrays类,在文件开头加入语句import java.util.Arrays;
程序实现:
int[] a1 = new int[] { 1, 2, 3 };
int[] a2 = new int[] { 1, 2, 3 };
boolean test=Arrays.equals(a1, a2);
System.err.println(test);
输出结果为:
true本回答被提问者采纳
第2个回答 2009-07-28
public class TestM
{
public static void main(String[] args)
{
int[] a1 = new int[]{1,2,3};
int[] a2 = new int[]{1,2,3};
boolean flag=true;
if(a1.length==a2.length)
{
for(int i=0;i<a1.length;i++)
{
String a=a1[i]+""; //把数组中的值先转换为String类型,才能用equals
String b=a2[i]+"";
if(!a.trim().equals(b.trim())) //trim()是消除左右空格
{
flag=false;
break;
}
}
}
else
{
flag=false;
}
System.out.println("数组a1和a2相等吗?答案是:"+flag);
}
}
希望对你有所帮助。
good luck to you!
第3个回答 2009-07-28
数组equals方法无法重写,
要比较2个数组使用
java.util.Arrays.equals(a1,a2);