前言
在我们开发的过程中,必定回遇到这样或那样的消息发送,统一的模板,统一消息发送方式能避免我们不停的造轮子,使我们的代码既美观有又比较好的扩展性
一、String.format的使用
1.代码眼见为实
代码如下(示例):
	public static void main(String[] args) {
		List<String> params = new ArrayList<String>();
		params.add("乘客");
		params.add("长沙");		
		params.add("长沙");
		params.add("左");
		String temp = "你好,%s! %s人民欢迎您,下一站目的地是%s,列车将开启%s侧车门";
		 System.out.println("======"+messageUtils(params,temp));
	}
	public static String messageUtils(List<String> params,String msgTemple) {
		return String.format(msgTemple, params.toArray());
	}二、String.replaceAll的使用
1.话不多说撸代码
代码如下(示例):
	public static void main(String[] args) {
		Map<String, String> params = new HashMap<String, String>();
		params.put("name", "乘客");
        params.put("station", "长沙");
        params.put("direction", "左");
        String temp = "你好,{name}!{station}人民欢迎您,下一站目的地是{station},列车将开启{direction}侧车门";
        System.out.println("======"+messageUtils(params,temp));
	}
	public static String messageUtils(Map<String, String> params,String msgTemple) {
		for (String key : params.keySet()) {
			msgTemple = msgTemple.replaceAll("\\{"+key+"\\}", params.get(key));
		}
		return msgTemple;
	}三、用工具类
1.看例子
代码如下(示例):
import java.util.HashMap;
import java.util.Map;
import org.apache.commons.lang3.text.StrSubstitutor;
public class SendMessage {
	public static void main(String[] args) {
		Map<String, String> params = new HashMap<String, String>();
		params.put("name", "乘客");
        params.put("station", "长沙");
        params.put("direction", "左");
        String temp = "你好,${name}!${station}人民欢迎您,下一站目的地是${station},列车将开启${direction}侧车门";
        System.out.println("======"+StrSubstitutor.replace(temp, params));
	}
}








