java MessageFormat来生成模板字符串

1.前言

在java程序中,我们经常会遇到生成模板字符串的场景,一般来说我们实现需求是这样的 

        String name = "Bob";
        StringBuilder sb = new StringBuilder();
        sb.append("您好").append("我是").append(name);
        System.out.println(sb.toString());//您好我是Bob

2.更好的方法

有一种更好的方法

        String helloStr = MessageFormat.format("您好,我是{0}", name);
        System.out.println(helloStr);//您好,我是Bob

直接使用MessageFormat替换变量即可,和printf方法类似,不用在用StringBuilder无脑拼接字符串,代码也简洁很多.

        String helloStr = MessageFormat.format("您好,我是{0},我今年{1,choice,1#一|2#二|{2}}岁", name,1);
        System.out.println(helloStr);//您好,我是Bob,我今年一岁

而且MessageFormat还提供了格式化选项  choice,可以根据不同的参数选择不同的数据,我{1}的参数设置的是1,所以就选择了一,如果是3就会选择{2}岁,会再次进行替换.

非常方便!

原文地址:https://www.cnblogs.com/lishuaiqi/p/15664755.html