如题

解决方案 »

  1.   

    如下面一段代码中的final String regex
    import java.io.File;
    import java.io.FilenameFilter;
    import java.util.regex.Pattern;public class DirList {
    public static FilenameFilter filter(final String regex){
    return new FilenameFilter(){
    private Pattern pattern = Pattern.compile(regex);
    @Override
    public boolean accept(File dir, String name) {
    return pattern.matcher(name).matches();
    }
    };
    }
    }
      

  2.   

    已经有这个问题了,请参考
    http://topic.csdn.net/u/20090217/13/f1727a3c-766d-49c2-b68c-d3b5e154cb6e.html
      

  3.   

    因为方法的参数申明是final的,那么方法的调用就限制了这个变量是不可改变的,可以避免在内部类方法内部
    改变该变量的值。
    这是JAVA语法的规定。
      

  4.   

    JAVA编程思想里有说明。 内部类方法参数必须是最终的,是为了保证内外的一致性。
      

  5.   

    不是的,如果不声明为final,那么在编译的时候,vm根本不知道这个参数的地址,因为它是可变的。只有声明为final之后,地址不变,才可以被其他地方引用,所以必须声明为final