0
点赞
收藏
分享

微信扫一扫

Java消息自定义模板

前言

在我们开发的过程中,必定回遇到这样或那样的消息发送,统一的模板,统一消息发送方式能避免我们不停的造轮子,使我们的代码既美观有又比较好的扩展性

一、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));
	}
}

举报

相关推荐

0 条评论