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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

张文佳

注册黑马

  • 黑马币:

  • 帖子:

  • 精华:

© 张文佳 注册黑马   /  2011-12-26 15:33  /  2073 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 张文佳 于 2011-12-30 15:07 编辑

==和equals()都可用于比较两个操作数是否相等, 它们有什么区别吗?

评分

参与人数 1技术分 +2 收起 理由
李荣壮 + 2

查看全部评分

3 个回复

倒序浏览
黄山 黑马帝 2011-12-26 19:16:35
沙发
==是判断两个变量或实例是不是指向同一个内存空间
equals是判断两个变量或实例所指向的内存空间的值是不是相同
这个可能不好理解 以前看java视频的时候 里面的老师说可以这样简单理解 就是==比较的是类型和值 但equals只比较值 比如说 int a=1 string b=“1”  比较a和b 用==的话不相等 用equals的话就相等了
回复 使用道具 举报
张旭 黑马帝 2011-12-27 00:18:41
藤椅
前边的哥们儿给的很详细 了    简单点儿说    ==是判断其引用是否为同一地方      equals是判断其值是否一致        好比这节日的时候   你和你女友都买了根哈根达斯   一个是判断是不是一个店里买的    一个判断是不是一样的价钱买的   

评分

参与人数 1技术分 +2 收起 理由
李荣壮 + 2

查看全部评分

回复 使用道具 举报
王兴 黑马帝 2011-12-31 16:15:31
板凳
不是这样的吧,为什么我对下面的代码测试
        int d = 1;
            int e = 1;
            string c = "1";
            Console.WriteLine(d == e);
            Console.WriteLine(d.Equals(e));
            Console.WriteLine(d.Equals(c));
得到的结果是
True
True
False
呢,这是为什么呢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马