java compare java中compareTo()的返回值 不是-1 ,1 , 0,而是-4587 ,12547 ....... 请问这是什么原因?

 我来答
帐号已注销
推荐于2018-03-01 · TA获得超过3214个赞
知道大有可为答主
回答量:2602
采纳率:71%
帮助的人:1277万
展开全部
compareTo()是两个字符串对象比较大小,返回一个整数值,如果调用字符串对象大,返回正整数,反之,返回负整数。相等则返回0。返回的值是两个串首次出现不同字符的ASCII的差值。

不是你说的一定是-1,1,0 哦
邗启3V
推荐于2016-07-18 · TA获得超过7271个赞
知道大有可为答主
回答量:1413
采纳率:100%
帮助的人:1395万
展开全部
compareTo(T t)
返回 负整数、零或正整数,根据此对象是小于、等于还是大于指定对象。
并没有一定要返回-1,0,1除非你自己实现Comparable 自己从写这个方法
比如你调用字符串的compareTo()方法
String s1 = "a";
String s2="c";
s1.compareTo(s2);//得到-2说明s1在s2前两位
s2.compareTo(s1);//得到2说明s2在s1后两位

这个接口是对实现他的类自然排序,即常说的字典排序
然后
compareTo()返回的也就是排序位置的关系吧
追问
但是我在Comparator的方法中使用
private final Collator sCollator = Collator.getInstance();
。。。。
return sCollator.compare(alabel, blabel);
就可以了,请指点。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式