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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 陈潼 于 2012-8-16 20:33 编辑
  1.         //public static <T> int binarySearch(List<? extends Comparable< ? super T>> list,T target)//怎么回事?:??正常
  2.         //public static <T> int binarySearch(List<T  extends Comparable< ? super T>> list,T target)//怎么回事?:??错误
  3.         //public static <T extends Comparable< ? super T>> int binarySearch(List<T> list,T target)//怎么回事?:??正常
  4.         {
  5.                 int max,min,mid ;
  6.                 max = list.size()-1;
  7.                 min = 0 ;
  8.                 while(min <= max)
  9.                 {
  10.                         mid = (max+min)>>1                        
  11.                         int num = list.get(mid).compareTo(target);
  12.                         if(num > 0)
  13.                         {
  14.                                 max = mid -1 ;
  15.                         }
  16.                         else if (num < 0)
  17.                         {
  18.                                 min = mid + 1 ;
  19.                         }
  20.                         else
  21.                         {
  22.                                 return num ;
  23.                         }               
  24.                 }
  25.                 return -min-1;
  26.         }
  27. }
复制代码
如题,将方法头的注释取消后可见各个方法头,正确的可以理解,但是没想明白为什么第二个是错的。请高手解答

2 个回复

倒序浏览
应该是泛型的书写规范的问题吧:
? extends T
? super T
他们两个的书写规范就是这样子,你写的是T extends T肯定是会报错的
回复 使用道具 举报
黑马王鹏 发表于 2012-8-16 20:41
应该是泛型的书写规范的问题吧:
? extends T
? super T

我写的T extends T????请指明
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马