意思是如果2个数组元素完全相同 那么 2个数组equals 或者== 是重写equals 方法吗  怎么重写??

解决方案 »

  1.   

    java.util.Arrays中有相应的方法.public static boolean equals(double[] a, double[] a2)等等,如果是对象数组用下面的:
    public static boolean equals(Object[] a, Object[] a2)
    这时对象对应的类应该实现equals方法。
      

  2.   

    大概怎么重写??? 我要的效果是如果2个数组的元素都相同 那么 数组1 EQUALS数组2 返回TRUE 用来测试自己写的排序算法的准确性 
      

  3.   

    把equals方法重写就可以啦,重新的内容就是比较两个数组里的内容是否一一对应相等
    是的话,就返回TRUE,否则返回FALSE
      

  4.   

    java.util.Arrays 有一个静态方法equals()
      

  5.   

    数组也是对象,等号操作“==”判断的是二者的引用的是不是同一个对象,并没有调用equals方法,
    数组的equals方法似乎并没有重写,我用例子测试过,用的是String数组。用java.util.Arrays的equals()
    方法能够正确判断。import java.text.SimpleDateFormat;
    import java.util.*;
    import java.text.ParseException;
    import java.util.Arrays;public class Test{ 
        public static void main(String[] arg) {         String[] str1={"1","2"};
            String[] str2={"1","2"};
            if(str1.equals(str2)){
             System.out.println("ok");
            }else{
             System.out.println("fail");
            }
            if(str1==str2){
             System.out.println("==ok");
            }else{
             System.out.println("==fail");
            }
            if(Arrays.equals(str1, str2)){
             System.out.println("java.util.Arrays   ok");
            }else{
             System.out.println("java.util.Arrays   fail");
            }
        } 

      

  6.   

    为什么非要重写呢?自己写一个方法不行吗?
    public boolean isEqual(int[] a, int[] b) {
      if(a.length == b.length) {
         for(int i = 0; i < a.length; i++) {
           if(a[i] != b[i]) {
             return false;
           }
         }
         return true;
      }
      return false;
    }
      

  7.   

    如果数组元素是对象.用Arrays.equals()要重写对象的equals()方法,下面就是例子:import java.util.Arrays;
    public class Test{
    public static void main (String[] args) {
    MyClass[] mc1={new MyClass(1),new MyClass(2)};
    MyClass[] mc2={new MyClass(2),new MyClass(3)};
    MyClass[] mc3={new MyClass(1),new MyClass(2)};
    System.out.println(Arrays.equals(mc1,mc2)+" "+Arrays.equals(mc1,mc3));
    }

          
    }
    class MyClass{
    private int x;
    MyClass(int x){
    this.x=x;
    }
    public boolean equals(Object another){
    MyClass mc=(MyClass)another;
    if(mc.x==this.x) return true;
    return false;
    }
    }