黑马程序员技术交流社区
标题:
,对于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