A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 待解封的小刀   /  2014-7-16 21:20  /  2371 人查看  /  25 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

icris 发表于 2014-7-17 08:58
从源码复制的,真的不能用就复制一下吧…

我把你的方法  运行了一遍  为什么没结果呢?
我简写了下 没结果 但是编译没出错

class Equals
{
        public  boolean equals(int[] a, int[] a2)
        {
               
                int length = a.length;
        if (a2.length != length)
            return false;

        for (int i=0; i<length; i++)
                {
                         if (a==a2)
                return true;
       
                }
        
        return false;
    }

}
class EqualsArr
{
        public static void main(String[] args)
        {
                int []a={1,2,3,4};
                int []b={1,2,3,4};
                Equals sss=new Equals();
                sss.equals(a,b);
       
       
        }

}
是不是我的主函数写错了啊?
回复 使用道具 举报
待解封的小刀 发表于 2014-7-17 09:53
我把你的方法  运行了一遍  为什么没结果呢?
我简写了下 没结果 但是编译没出错

这个 明白了 我写错了 谢谢了兄弟。
回复 使用道具 举报
fantacyleo 发表于 2014-7-16 22:25
这两者没有关联。你的代码中,数组当然是对象成员,但它本身也是对象,arr是引用类型变量。如果你在类中 ...

也就是 ==  这个比较符   在int 型 这些基本的数据类型中 比较的是内容 而== 在引用数据类型 比较的就是他们的地址了   所以对于数组 要用equals 而不是用==  是这样理解的吧  求大神回复。

点评

嗯,你的理解正确。  发表于 2014-7-17 11:25
回复 使用道具 举报
icris 中级黑马 2014-7-17 11:27:01
24#
待解封的小刀 发表于 2014-7-17 11:21
也就是 ==  这个比较符   在int 型 这些基本的数据类型中 比较的是内容 而== 在引用数据类型 比较的就是 ...

数组也不能用 equals …
把 return 换成 return Arrays.equals(arr, d.arr); 在最上面(第一个 class 上面)写上 import java.util.Arrays;
这样就行了。用 eclipse 的时候 import 是自动添加的
回复 使用道具 举报
F@C 中级黑马 2014-7-18 11:33:43
25#
进来学习
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 加入黑马