java问题,求大神指点

sdkakajian102 2018-01-14 09:36:07
求大神指点,下面两段代码FILEDEMO2里 new myfileflter 创建对象时为什么会自动调用该类中的accept方法?
...全文
585 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
anonyomusx 2018-01-16
  • 打赏
  • 举报
回复
最猛的阿良 2018-01-15
  • 打赏
  • 举报
回复
引用 1 楼 bushanyantanzhe 的回复:
你的myfileflter 实现了filenameFilter,filenameFilter是个过滤器,在它的底层会自动调用accept,你可以查看一下源代码看看,里面有一段 public String[] list(FilenameFilter filter) { String names[] = list(); if ((names == null) || (filter == null)) { return names; } List<String> v = new ArrayList<>(); for (int i = 0 ; i < names.length ; i++) { if (filter.accept(this, names[i])) { v.add(names[i]); } } return v.toArray(new String[v.size()]); }
这层说的已经很明白了
飘逸的腿毛 2018-01-15
  • 打赏
  • 举报
回复
public boolean accept(File dir, String name) { String[] arr$ = this.names; int len$ = arr$.length; for(int i$ = 0; i$ < len$; ++i$) { String name2 = arr$[i$]; if(this.caseSensitivity.checkEquals(name, name2)) { return true; } } return false; }
ZHOU西口 2018-01-14
  • 打赏
  • 举报
回复
看下FileUtils的源码
你米哥 2018-01-14
  • 打赏
  • 举报
回复
因为你重写了accept方法
不善言谈者 2018-01-14
  • 打赏
  • 举报
回复
你的myfileflter 实现了filenameFilter,filenameFilter是个过滤器,在它的底层会自动调用accept,你可以查看一下源代码看看,里面有一段 public String[] list(FilenameFilter filter) { String names[] = list(); if ((names == null) || (filter == null)) { return names; } List<String> v = new ArrayList<>(); for (int i = 0 ; i < names.length ; i++) { if (filter.accept(this, names[i])) { v.add(names[i]); } } return v.toArray(new String[v.size()]); }

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧