20170705 带占位符的字符串 MessageFormat类

参考文献:《Java疯狂讲义》(第三版)

import java.util.*;

import java.text.MessageFormat;

public class HelloArg{

public static void main(String[] args){

//定义一个Locale变量

Locale currentLocale=null;

//如果运行程序指定了两个参数

if(args.length==2){

//使用运行程序的两个参数构造Locale实例

currentLocale =new Locale (args[0],args[1]);

}

else{

//否则直接使用系统默认的Locale

currentLocale = Locale.getDefault(Locale.Category.FORMAT);

}

ResourceBundle bundle=ResourceBundle.getBundle("myMess",currentLocale);

String msg=bundle.getString("msg");

//使用MessageFormat为带占位符的字符串传入参数

System.out.println(MessageFormat.format(msg,"yeeku",new Date()));

}

}

问题:Java程序国际化中,输出一个必须包含动态的内容,例如:这些内容必须

是从程序上获得的。

解决方法:可以使用带占位符的消息。需要使用MessageFormat类。

方法:format(String pattern,Object...values):返回后面的多个参数值填充前面的pattern字符串,其中pattern字符串不是正则表达式,而是一个带占位符的字符串。

你可能感兴趣的:(20170705 带占位符的字符串 MessageFormat类)