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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 刘永贵 中级黑马   /  2013-9-8 14:47  /  2211 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 刘永贵 于 2013-9-8 18:29 编辑



compare是什么意思

评分

参与人数 1技术分 +1 收起 理由
张智文 + 1

查看全部评分

4 个回复

倒序浏览
compare(T o1,T o2)返回的是int 类型,compareTo返回的才是boolean
以下是API查的:
比较用来排序的两个参数。根据第一个参数小于、等于或大于第二个参数分别返回负整数、零或正整数。
在前面的描述中,符号 sgn(expression) 表示 signum 数学函数,根据 expression 的值为负数、0 还是正数,该函数分别返回 -1、0 或 1。

实现程序必须确保对于所有的 x 和 y 而言,都存在 sgn(compare(x, y)) == -sgn(compare(y, x))。(这意味着当且仅当 compare(y, x) 抛出异常时 compare(x, y) 才必须抛出异常。)

实现程序还必须确保关系是可传递的:((compare(x, y)>0) && (compare(y, z)>0)) 意味着 compare(x, z)>0。

最后,实现程序必须确保 compare(x, y)==0 意味着对于所有的 z 而言,都存在 sgn(compare(x, z))==sgn(compare(y, z))。

虽然这种情况很普遍,但并不 严格要求 (compare(x, y)==0) == (x.equals(y))。一般说来,任何违背这个条件的 Comparator 都应该清楚地指出这一事实。推荐的语言是“注意:此 Comparator 强行进行与 equals 不一致的排序。”


评分

参与人数 1技术分 +1 收起 理由
张智文 + 1

查看全部评分

回复 使用道具 举报
内部原理是比较s[i]和s[j]是不是同一个元素,如果是,返回true,否则返回false,该方法主要针对对象
回复 使用道具 举报
compare 就是交换两个字符的位置吧
回复 使用道具 举报
就是两个参数做比较是不是相等,返回值为ture或者false
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马