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}岁,会再次进行替换.

非常方便!

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM