黑马程序员技术交流社区

标题: “==”和equals()的区别 ? [打印本页]

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




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2