- //过滤器接口
- public interface Filter {
- public String doFilter(String str);
- }
- //HTML的过滤器
- public class HTMLFilter implements Filter{
- @Override
- public String doFilter(String str) {
- if(str==null)return "";
- str=str.replace("<", "[");
- str=str.replace(">", "]");
- return str;
- }
- }
- //敏感词的过滤器
- public class SensitiveFilter implements Filter{
- @Override
- public String doFilter(String str) {
- if(str==null)return "";
- str=str.replace("敏感", "mingan");
- return str;
- }
- }
- //字符串过滤的处理类
- public class Process {
- private String str;
- //把要使用的过滤器写在一起过滤的数组中
- Filter[] filters={new HTMLFilter(),new SensitiveFilter()};
- //过滤的处理方法
- public String process(){
- for(Filter filter : filters){
- str=filter.doFilter(str);
- }
- return str;
- }
- public String getStr() {
- return str;
- }
- public void setStr(String str) {
- this.str = str;
- }
- }
- public class Client {
- public static void main(String[] args) {
- String str="这是我的一个敏感链接<a>优酷</a>";
- Process pro=new Process();
- pro.setStr(str);
- str=pro.process();
- System.out.println(str);
- }
- /**
- * 运行结果:
- * 这是我的一个mingan链接[a]优酷[/a]
- */
- }