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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© ~﹏~ 中级黑马   /  2013-11-4 15:12  /  684 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

今天做一个小程序的时候发现了这个问题:
  1. public static <T> int Search(List<T> list,T key)
  2.         {
  3.     //记录索引
  4.                 final int index;
  5.                 Collections.binarySearch(list, key,new Comparator(){
  6.                         @Override
  7.                         public int compare(Object o1, Object o2) {
  8.                                 // TODO Auto-generated method stub
  9.                                 if(o1.equals(o2))
  10.                                 {
  11.          
  12.                                         return 0;
  13.                                 }
  14.                                 else
  15.                                 {
  16.           index++;//此处出现错误,The final local variable xxx cannot be assigned, since it is defined in an enclosing type
  17.                   //最后通过Collections找到对象后会直接返回索引解决问题,这里值得注意啊,匿名类中如果想返回一些有用的值,就必须
  18.                   //将变量定义在上一个作用域中,还必须使用final修饰,并且只能被赋值一次,所以使用++时给报错了,希望大家注意这些小
  19.                   //小的问题哦!
  20.           return -1;
  21.                                 }
  22.                         }
  23.                 });
  24.                 return index;
  25.         }
复制代码

评分

参与人数 1技术分 +1 收起 理由
乔兵 + 1

查看全部评分

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马