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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 徐方锐 中级黑马   /  2016-5-26 13:04  /  312 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

“==”和equals()的区别  
        == 作比较
                基本类型:比较的是基本类型变量的值是否相等
                        如:int、byte等类型;
                引用类型:比较的引用类型的地址值是否相等
                        如:数组,String类型等。
        equals(Object obj):
                作用:用来比较两个对象是否相等
                不重写时:比较的是两个对象的地址值是否相等
                所以一般我们想要比较两个引用类型的值内容时需要在类中重写equals()方法,在
             方法中定义比较的规则,按重写规则进行比较,一般是比较该对象类型的所有的成员变量
             的值是否相等;
                 而像有些特殊的类型,在JDK中的定义的特殊类会自己重写equals()方法,如:String类;
             就是在类中自己重写了equals方法:
                 在方法中:1、先讲字符串转换成字符数组;
                           2、然后比较数组的长度;
                           3、最后按索引逐个比较。
              在这些特殊类型中就可以直接调用equals()方法比较两个变量的值内容是否相等;
                 如:s1.equals(s2);

1 个回复

倒序浏览
正在纠结你就来了,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马