永发信息网

对Java的Collections.sort()方法的疑问

答案:2  悬赏:0  手机版
解决时间 2021-04-08 18:18
  • 提问者网友:浮克旳回音
  • 2021-04-07 22:06
下面是代码,困惑很久,还望指点一二,问题写在注释中
class StringComparator2 implements Comparator {
@Override
public int compare(String s1, String s2) {
return -s1.compareTo(s2);
}
}

public class Sort6 {
public static void main(String[] args) {
List words = Arrays.asList("B", "X", "A", "M", "F", "W", "O");
//不使用泛型的话,List不是存的是Object吗?
//但是上面的StringComparator在操作Comparator接口时为什么可以不用类型转换呢
//就是为什么不把Object转换为String
//是不是因为sort()中做了特别的处理呢
Collections.sort(words, new StringComparator2());
System.out.println(words);
}
}
Java初学者,还望赐教, 财富值
最佳答案
  • 五星知识达人网友:风格不统一
  • 2021-04-07 23:20
为了方便对比,实现接口的时候,写明类型。。。。。。。。特别是自定义的类的时候。
全部回答
  • 1楼网友:西风乍起
  • 2021-04-08 00:19
默认的是升序 但你既然知道comparator,你就可以让它降序 例如: 比如原来你的comparator方法,返回的是 class a{int a;} comparator(a a1,a a2){return a1.a-a2.a}//升序 comparator(a a1,a a2){return a2.a-a1.a}//降序
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯