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}歲,會再次進行替換.
非常方便!