大家来告诉我为什么匿名内部类使用的参数必须为final? 如题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如下面一段代码中的final String regeximport 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(); } }; }} 已经有这个问题了,请参考http://topic.csdn.net/u/20090217/13/f1727a3c-766d-49c2-b68c-d3b5e154cb6e.html 因为方法的参数申明是final的,那么方法的调用就限制了这个变量是不可改变的,可以避免在内部类方法内部改变该变量的值。这是JAVA语法的规定。 JAVA编程思想里有说明。 内部类方法参数必须是最终的,是为了保证内外的一致性。 不是的,如果不声明为final,那么在编译的时候,vm根本不知道这个参数的地址,因为它是可变的。只有声明为final之后,地址不变,才可以被其他地方引用,所以必须声明为final 360度跪求新手入门视频教程,顺便问下关于引用变量 用netbeans做桌面数据库问题。 JAVA如何开发PDF阅读器 用dom对XML树进行遍历,如何思路啊!写出匡架代码 请问如何用jstl将Map中的键、值一起成对显示出来? Javamail 发送邮件的问题 java的编译问题 谁能帮我解决以下问题,我写了解压zip文件的一个类,但是无法解压带有中文文件名的zip文件 有关JAVA对话框的问题 问题出在哪里 。菜鸟求拯救! java print server 问题,别路过啦,进来看看吧~ 下载那个版本的Eclipse?
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();
}
};
}
}
http://topic.csdn.net/u/20090217/13/f1727a3c-766d-49c2-b68c-d3b5e154cb6e.html
改变该变量的值。
这是JAVA语法的规定。