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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© JustForYou 中级黑马   /  2015-7-31 23:59  /  676 人查看  /  8 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

在Java基础中,现在接触到的有两个判断相等,经常搞混,求解!
==和.equals       在判断的时候经常用错,有时候还说要重写equals方法,,全乱了.........

8 个回复

倒序浏览
==是对数值得比较,而equals可以用于对字符串的比较。
回复 使用道具 举报
就如两个人名字一样,==相当于说他们是否是同一个人,equals相当于说他们名字是否相同。
回复 使用道具 举报
Object中equals方法内部代码就是"==",所以Object类中两者都是比较地址值,
String类中重写了equals方法,比较的是对象的内容,与"=="不一样;
一般equals方法都会重写,重写内容是什么,就比较什么。
回复 使用道具 举报
李峥 发表于 2015-8-1 08:27
Object中equals方法内部代码就是"==",所以Object类中两者都是比较地址值,
String类中重写了equals方法, ...

谢谢!!
回复 使用道具 举报
==比较运算符
               A、基本数据类型:比较的是基本类型的值是否相等。
               B、引用数据类型:比较的是引用类型的地址值是否相等。
equals()
     比较两个对象是否相等(默认指的是地址值,也就是说是否指向同一对象)
     重写该方法,实现具体属性性的比较。
回复 使用道具 举报
这个应该是数字与字符之间的问题,学到后面你就清晰了
回复 使用道具 举报
上帝类Object类中定义了equals方法,可以看一下源码,另外一些类重写了该方法,所以就会根据需要改变。之前,比较地址是没有意义的。因为new出来的两个对象,地址不可能一样。所以进行了重写。判断属性是否一样。
回复 使用道具 举报
==用于数值的比较,而equals用于引用变量的比较(比如对象,字符串)
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马