java - 执行覆盖方法的所有实例
问题描述
我正在尝试设计一个简单的过滤机制,并且正在寻找以下行为:
public abstract class Filter {
public abstract boolean doFilter(String comm);
public boolean filter(List<Filter> col) {
//return true if all filters ret true, false otherwise
}
}
public class FilterA extends Filter {
public boolean doFilter(String comm) {
if(comm.charAt(0)=='a')
return true;
return false;
}
}
public class FilterB extends Filter {
public boolean doFilter(String c) {
return c.length() > 10;
}
}
我有一个根过滤器类,以及许多扩展它的过滤器,并有自己的 doFilter(String c) 方法实现。然后我希望能够调用所有过滤器的 doFilter 方法并从那里开始。当前的方式(使过滤器方法静态并使用过滤器列表+要过滤的字符串调用它似乎非常笨拙。
如果我想根据其他内容动态选择哪些过滤器,我该怎么办?假设字符串以 # 开头,例如,我只想使用过滤器 A、E 和 F。(动态设置)
谢谢你
解决方案
推荐阅读
- python-3.x - 在 python 中获取所有 %(name)s 占位符
- c# - .dot 和 .dotx 的正确 wdsaveformat 是什么?
- dolphindb - 如何从 dolphindb 表中删除重复行?
- dataweave - 无法将多值选择器的结果传递给 CONTAINS 函数
- java - 如何使用 Java 中的 API 更新(版本 5)更新 ElasticSearch 中的哈希图数据?
- node.js - 正文解析器无法/不解析来自 GET 请求的 urlencoded 参数
- javascript - 内容总是在第二次点击时更新,而不是第一次?
- php - 如何将单词中的数量与总数相同?
- fabricjs - Fabricjs子子类化
- tfs - 单击通过 MTM 运行测试(Microsoft 测试管理器)在将操作系统更新到 windows 10 后停止工作