黑马程序员技术交流社区
标题: ==.equals.comparaTo,compare的区分 [打印本页]
作者: xiexie758 时间: 2015-11-1 14:27
标题: ==.equals.comparaTo,compare的区分
==与equals是做判断用,返回的是true或false: 使用"=="算符比较基本数据类型时,比较的是值相等;使用"=="算符比较对象时,比较的是内存地址和内容。 使用equals()方法比较对象时,比较的是对象的内容,与地址无关,如果没有重写equals()方法就直接调用的是Object的equals()方法。
"=="比较的是外在和内涵;equals()比较的是外在。用博大精深的中文讲就是:一个相同,一个相似。
compareTo与compare是比较两个对象的大小值,返回的是1(大于),0(相同),-1(小于):
compareTo()是Comparable接口的方法。一个类实现此接口,让类具有可比较性。
compare()是omparator接口的方法。一个类实现此接口,是让类成为一个比较器,传给集合(treeset集合或者treemap集合),让集合具有此比较器的性质。
作者: 水月灬清影 时间: 2016-8-18 08:52
1)“使用"=="算符比较对象时,比较的是内存地址和内容” 确定==比较引用类型时能比较内容么?
2)“使用equals()方法比较对象时,比较的是对象的内容,与地址无关” 确定默认的equals()方法比较的是内容而不是地址值么?
3)ArrayList同样可以实现Comparator
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |