黑马程序员技术交流社区

标题: 泛型通配符的问题 [打印本页]

作者: ~﹏~    时间: 2013-11-1 12:59
标题: 泛型通配符的问题
  1. public static <T> List<T> Sort(List<T> list)
  2.         {
  3.                 //使用Collections中提供的sort方法进行排序
  4.                 Collections.sort(list,new Comparator<T>(){
  5.                         @Override
  6.                         public int compare(T i, T j) {
  7.                                 // TODO Auto-generated method stub
  8.                                 if((Integer)i>(Integer)j)
  9.                                         return -1;
  10.                                 else if((Integer)i<(Integer)j)
  11.                                         return 1;
  12.                                 return 0;
  13.                         }
  14.                 });
  15.                 return list;
  16.         }
复制代码

作者: ~﹏~    时间: 2013-11-1 13:04
为什么不可以将传入参数中的T换为?呢{:3_46:}{:2_31:}:'(
作者: 零下五度的水    时间: 2013-11-1 13:18
<T>具有限制性,定义成什么类型,后面的<T>都代表同一个类型
<?>比较宽容,如果碰上两个类型不一样的,它会自觉的帮你去找两个类共同的父类,然后统统转成该父类类型
作者: The_Wizard    时间: 2013-11-1 14:55
这是在定义类(虽然是匿名内部类),其他的我不知道怎么解释了。
作者: To    时间: 2013-11-1 23:18

如果问题已经解决,请重新编辑帖子为“提问结束”
修改主题的方法链接
http://bbs.itheima.com/thread-89313-1-1.html




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