黑马程序员技术交流社区

标题: ,对于equals的使用和最容易疑惑的地方,顺便区别“==”的... [打印本页]

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




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