前言
在我们开发的过程中,必定回遇到这样或那样的消息发送,统一的模板,统一消息发送方式能避免我们不停的造轮子,使我们的代码既美观有又比较好的扩展性
一、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));
}
}