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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Havorld 中级黑马   /  2014-7-25 21:52  /  1581 人查看  /  14 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 Havorld 于 2014-7-31 22:12 编辑

java中equals和“==”有什么不同啊

14 个回复

倒序浏览
这问题问的人好多啊!
equals和==的区别
==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。
equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同。
回复 使用道具 举报
0710期 的吧 同学
回复 使用道具 举报
==通常是比较常量是否相等,是一个判断符;而equals是一个方法,在不同的地方重写会有不同的用法,如String中重写了此方法,是比较两个字符串是否一样。如果没有重写的话,默认比较两个对象的地址是否一样。
回复 使用道具 举报
一个是比较地址一个是数值
回复 使用道具 举报
回复 使用道具 举报
掌柜的--刘饮 发表于 2014-7-25 23:17
http://bbs.itheima.com/thread-119571-1-1.html这个,你值得拥有

哈哈,非常感谢
回复 使用道具 举报
两个一个是值,一个是内容
回复 使用道具 举报
"==":
     一,当比较的类型是基本类型时,比较的是值;
     二,当比较的是引用类型时,比较的是变量的内存地址;
equals(Object)只能用于引用类型之间的比较,
    在Object中定义的equals方法默认比较的是地址,如果引用类型没有重写Object中的equals方法的话,默认的还是比较的地址;重写了Object中的的equals方法后,则才是比较的是值。
回复 使用道具 举报
==是判断是否为相同的实例
equals()是判断对象中的内容,可通过重写 compareTo()实现自己的equals()方法
回复 使用道具 举报
本帖最后由 大★宝 于 2014-8-4 13:02 编辑

equals:比较的是地址值"==":   比较的是数值
回复 使用道具 举报
==和equals都是比较的,前者是运算符,后者则是一个方法,==运算符专门用来比较两个变量的值是否相等,equals方法是用于比较两个独立对象的内容是否相同,而且equals方法可以重写,根据自己需要的方式来进行比较。
回复 使用道具 举报
==是比较数值吧,equals是方法
回复 使用道具 举报
“==”用于判断两个变量中存储的值是否相等。当用于引用类型的数据的时候就是比较地址值。equals是用来比较引用类型的数据中的内容是否一样。也就是堆内存中的内容。例如:对象
回复 使用道具 举报
在最高父类object中,equals和==是一样的都是比较地址,但是在众多的子类中,大部分都重写了equals,所以在大部分子类中,比较的是内容是否相等
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马