对java中MessageFormat类的一个简单扩展,javamessageformat,原始的只提供从0开始的数
分享于 点击 20374 次 点评:221
对java中MessageFormat类的一个简单扩展,javamessageformat,原始的只提供从0开始的数
原始的只提供从0开始的数字作为字符串占位符,做了个简单的扩展,支持用字符串作为占位符,如 “ {:name} -- {:age} -- {:name}”格式则模型可被顺利解析。代码如下:
[Java]代码
package demo;import java.util.HashMap;import java.util.Map;public class MessageFormatDemo { public static void main(String[] args) { test1(); } private static void test1() { String pattern = "{:name} - {:age} - {:name}"; Map<String,Object> arguments = new HashMap<String, Object>(){{ put("name", "tom"); put("age", 23); }}; String msg = MyMessageFormat.format(pattern, arguments); System.out.println(msg); }}class MyMessageFormat{ public static String format(String pattern, Map<String,Object> arguments){ String formatedStr = pattern; for (String key : arguments.keySet()) { formatedStr = formatedStr.replaceAll("\\{:"+key+"\\}", arguments.get(key).toString()); } return formatedStr; }}// --------------- 输出结果为 --------------// tom - 23 - tom
用户点评