Java中利用MessageFormat对象实现类似C# string.Format方法格式化

我们在写C#代码的时候常常会使用到string.Format("待格式化字符串{0},{1},....",参数1,参数2,...),来格式化字符串,特别是拼接字符的时候,这种方式使得代码更为直观清楚。

最近使用java时候却java的string.Format与c#重点string.Format用法不一样,java中的string.format更类似于C语言的sprintf()方法

例如:

String str=null;

str=String.format("Hello,%s", "world");          // 格式化字符串

但是如果我们这样写str=String.format("Hello,{0}", "world");    输出结果却是:Hello,{0} 并不是我们想要的

最后发现java 中MessageFormat对象format方法可以实现c#中同样的效果

测试一下:

import java.text.MessageFormat;


public class Test {

 public static void main(String args[]) throws Exception {

String[]arr = {"张三", "10000"};

String str = MessageFormat.format("name={0},salary={1}",arr );

System.out.println(str);//name=张三,salary=10000

 }

}

输出:name=张三,salary=10,000


你可能感兴趣的:(MessageFormat)