Java 占位符

来源:互联网 发布:考试管理系统数据库 编辑:程序博客网 时间:2024/06/06 03:29

1、方法一:

以前在学习C#的时候,使用占位符很好的能解决变量输出的问题,我想Java有没有这么方便的功能能,搜索了下,果然是有的,也很方便。看下面的例子:

[java] view plain copy
  1. //java 占位符的使用  
  2. public class Test04{  
  3.     public static void main(String args[]){  
  4.     String a="world";  
  5.     int b=2013;  
  6.     System.out.printf("hellow %s \n",a);      
  7.     System.out.printf("this year is %s",b);  
  8.     }  
  9. }  

结果:

可以看到,我使用%s来占a,b的位置。很是方便。有的人说%s占的是string类型的,但不知道为什么int也行呢?这个我也没明白。。。


2.方法二:

[java] view plain copy
  1. String stringFormat  = "lexical error at position %s, encountered %s, expected %s ";    
  2.         
  3. String messageFormat ="lexical error at position {0}, encountered {1}, expected {2}";    
  4.         
  5. System.out.println(String.format(stringFormat, 123100456));    
  6.         
  7. System.out.println(MessageFormat.format(messageFormat, new Date(), 100456));    

2种方式 主要是占位符不一样,好看下结果是

[java] view plain copy
  1. lexical error at position 123, encountered 100, expected 456     
  2.     
  3. lexical error at position 10-10-12 下午9:35, encountered 100, expected 456   

看了下MessageFormat的api说明,这个占位符参数功能更加强大点,支持type,style等限定。所以如果需要使用高级功能建议是使用MessageFormat。

0 0