package com.chen.InterpreterPattern.po; import java.util.Arrays; import java.util.HashSet; import java.util.Set; /** * 终端计算 * * @author lx * @date 2021/10/13 9:33 **/ public class TerminalExpression implements Expression { private final Set data; public TerminalExpression(String[] data) { this.data = new HashSet<>(Arrays.asList(data)); } /** * 解释 * * @param context 被验证元素 * @return true、false */ @Override public boolean interpret(String context) { System.out.println(data); String splitFux = "的"; if(!context.contains(splitFux)){ return data.contains(context); } String[] contexts = context.split(splitFux); boolean result = false; for (String s : contexts) { if (data.contains(s)) { result = true; } } System.out.println("结果:" + result); return result; } }