java中自定义使用{0}占位符功能之MessageFormat类

来源:互联网 发布:ucloud 阿里云 哪个好 编辑:程序博客网 时间:2024/05/19 20:45

MessageFormat提供一种语言无关的方式来组装消息,它允许你在运行时刻用指定的参数来替换掉消息字符串中的一部分。你可以为MessageFormat定义一个模式,在其中你可以用占位符来表示变化的部分,例如在下面的测试类中:

package cn.lz.life.util;import java.text.MessageFormat;import org.slf4j.Logger;import org.slf4j.LoggerFactory;public class Demo {protected static final Logger log = LoggerFactory.getLogger(Demo.class.getName());private MessageFormat format;public Demo(String placeholder) {super();this.format = new MessageFormat(placeholder);//包含占位符的字符串}public void getStrMsg(String ...strMsg) {log.info(format.format(strMsg));//格式化占位符中的内容到目标字符串}}

注意format()方法的参数必须是数组



package cn.lz.life.util;public class Test {public static void main(String[] args) {Demo demo = new Demo("你好:{0}{1}!") ;//包含占位符的目标字符串String[] strs = {"某人!", "你是谁"};//占位符中的内容demo.getStrMsg(strs);}}





控制台中打印:

17:31:38.388 [main] INFO cn.lz.life.util.Demo - 你好:某人!你是谁!

原创粉丝点击