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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© xiexie758 中级黑马   /  2015-11-1 14:27  /  682 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

==与equals是做判断用,返回的是true或false:    使用"=="算符比较基本数据类型时,比较的是值相等;使用"=="算符比较对象时,比较的是内存地址和内容。
    使用equals()方法比较对象时,比较的是对象的内容,与地址无关,如果没有重写equals()方法就直接调用的是Objectequals()方法。
   "=="比较的是外在和内涵;equals()比较的是外在。用博大精深的中文讲就是:一个相同,一个相似。
compareTo与compare是比较两个对象的大小值,返回的是1(大于),0(相同),-1(小于):
    compareTo()Comparable接口的方法。一个类实现此接口,让类具有可比较性。
    compare()是omparator接口的方法。一个类实现此接口,是让类成为一个比较器,传给集合(treeset集合或者treemap集合),让集合具有此比较器的性质。


1 个回复

倒序浏览
1)“使用"=="算符比较对象时,比较的是内存地址和内容”    确定==比较引用类型时能比较内容么?
2)“使用equals()方法比较对象时,比较的是对象的内容,与地址无关”  确定默认的equals()方法比较的是内容而不是地址值么?
3)ArrayList同样可以实现Comparator
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马