1、方法一:
以前在学习C#的时候,使用占位符很好的能解决变量输出的问题,我想Java有没有这么方便的功能能,搜索了下,果然是有的,也很方便。看下面的例子:
- //java 占位符的使用
- public class Test04{
- public static void main(String args[]){
- String a="world";
- int b=2013;
- System.out.printf("hellow %s \n",a);
- System.out.printf("this year is %s",b);
- }
- }
结果:
可以看到,我使用%s来占a,b的位置。很是方便。有的人说%s占的是string类型的,但不知道为什么int也行呢?这个我也没明白。。。
2.方法二:
- String stringFormat = "lexical error at position %s, encountered %s, expected %s ";
- String messageFormat ="lexical error at position {0}, encountered {1}, expected {2}";
- System.out.println(String.format(stringFormat, 123, 100, 456));
- System.out.println(MessageFormat.format(messageFormat, new Date(), 100, 456));
2种方式 主要是占位符不一样,好看下结果是
- lexical error at position 123, encountered 100, expected 456
- lexical error at position 10-10-12 下午9:35, encountered 100, expected 456
看了下MessageFormat的api说明,这个占位符参数功能更加强大点,支持type,style等限定。所以如果需要使用高级功能建议是使用MessageFormat。