java.util.Formatter类基本使用

来源:互联网 发布:js根据class获取div 编辑:程序博客网 时间:2024/05/16 03:19

Q. 为什么要用到此类:

A:此类提供了对布局对齐和排列的支持,以及对数值、字符串和日期/时间数据的常规格式和特定于语言环境的输出的支持。

通俗一点说就是  控制 输出文本的 格式。

1、产生格式化输出的每个方法都需要“格式字符串”和 “参数列表”

         格式字符串是一个 String ,它可以包含固定文本以及一个或多个嵌入的 “格式说明符。”

格式说明符的语法如下:

%[argument_index$][flags][width][.precision]conversion

可选的 argument_index是一个十进制整数,用于表明参数在参数列表中的位置。第一个参数由 "
1$
" 引用,第二个参数由 "
2$
" 引用,依此类推。

可选的 flags是修改输出格式的  字符集 。有效标志的集合取决于转换类型。

可选 width是一个 非负十进制整数,表明要向输出中写入的最少字符数。

可选 precision是一个非负十进制整数, 通常用来限制字符数。特定行为取决于转换类型。

所需的 conversion是一个表明应该如何格式化参数的字符。给定参数的有效转换集合取决于参数的数据类型。

实例:

 解释:Formatter formatter = new Formatter(sb,Locale.US)  //构造一个带指定目标文件和语言环境的新 formatter,  所有的输出 将 发送 到 sb 对象中,  

          formatter.format("%4$2s %3$2s %2$2s %1$2s", "a", "b", "c", "d ")  //  "%4$2s %3$2s %2$2s %1$2s"  是 “格式字符串”,后面的 是参数列表,

含 a ,b , c ,d  四个参数 ,%4$2s  表示的意思是 4$:第四个参数, 2:最少输出两个字符,s:按照字符串的格式输出目标字符  。

              语法对照:   %[argument_index$][flags][width][.precision]conversion

像那个flags 参数 啊 ,是表示 控制 输出格式的 字符集,可以参照api文档的 《标志》 部分。

 eg. 
'-'   y y y y y 
结果将是左对齐的。   

width 和 .precision  就不多说了,

 conversion  控制输出的 格式 语法,可以参考api文档的 《转换》 部分。

eg

'd'  
整数  
结果被格式化为十进制整数

     System.out.format("将参数列表当中的十进制整数转换成十六进制:29转换成十六进制之后的值:%1$x", 29);

控制台输出 将参数列表当中的十进制整数转换成十六进制:29转换成十六进制之后的值 1d

原创粉丝点击