欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

对java中MessageFormat类的一个简单扩展,javamessageformat,原始的只提供从0开始的数

来源: javaer 分享于  点击 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
相关栏目:

用户点评