黑马程序员技术交流社区

标题: 反转排序问题 [打印本页]

作者: Up↑Lee↗    时间: 2014-3-31 17:21
标题: 反转排序问题
本帖最后由 Up↑Lee↗ 于 2014-4-1 09:52 编辑
  1. class StrComparator implements Comparator<String>
  2. {
  3.        public int compare(String s1,String s2)
  4.          {
  5.            int num = s1.compareTo(s2);
  6.             if(num>0)
  7.                  return -1;
  8.             if( num<0)
  9.                  return 1;
  10.             return num;
  11.           }
  12. }
复制代码
这段代码为什么就能实现几个字符串的反转呢?
作者: osully    时间: 2014-3-31 17:40
本来num 大于0 说明s1大于s2 却返回-1,
本来num 小于0 说明s2大于s1 却返回1,
两句话 不就说明 你的返回值 跟正常的是反的吗
作者: leon_hm    时间: 2014-3-31 18:17
num>0的时候正常情况是s1>s2. 这时返回的是-1,则表示s1<s2
num<0的时候正常情况是s1<s2. 这时返回的是1,则表示s1>s2
这样s1与s2比较的时候就与正常的相反啦。
作者: Up↑Lee↗    时间: 2014-4-1 09:51
osully 发表于 2014-3-31 17:40
本来num 大于0 说明s1大于s2 却返回-1,
本来num 小于0 说明s2大于s1 却返回1,
两句话 不就说明 你的返回 ...

恩恩  一时没想过来  谢谢啊
作者: Up↑Lee↗    时间: 2014-4-1 09:52
leon_hm 发表于 2014-3-31 18:17
num>0的时候正常情况是s1>s2. 这时返回的是-1,则表示s1

恩恩  明白了  谢谢





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2