黑马程序员技术交流社区

标题: 变量引用问题 [打印本页]

作者: ~﹏~    时间: 2013-11-4 15:12
标题: 变量引用问题
今天做一个小程序的时候发现了这个问题:
  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.         }
复制代码





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