equals在数组中的用法

来源:百度知道 编辑:UC知道 时间:2024/06/21 03:58:24
数组的equals方法怎么重写?有谁知道的仔细说明下,用代码说明最好!
比如:int[] a1 = new int[]{1,2,3};
int[] a2 = new int[]{1,2,3};
怎么才能用equals方法比较,得出的结果要为true;

楼主遇到的情况不适合重写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

不用重写,有现成的API方法
java.util.Arrays这个类,专门用来操作数组的,有空多看看API文档
public static boolean equals(int[] a,int[] a2)如果两个指定的 int 型数组彼此相等,则返回 true。
如果两个数组包含相同数量的元素,并且两个数组中的所有相应元素对都是相等的,则认为这两个数组是相等的。换句话说,如果两个数组以相同顺序包含相同的元素,则两个数组是相等的。此外,如果两个数组引用都为 null,则认为它们是相等的。
java.util.Arrays.equals(a1,a2); 即可

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++)
{

Str