Formatter 作用Formatter 对象主要是把JAVA中的字符串、基本类型及其包装对象格式化成字符串,当然也可以用来格式时间输出 。常见的System.out.printf, String.format 都是调用Formatter实现字符串格式化 。
Formatter 使用例子格式化输出如下代码:
文章插图
输出结果:
文章插图
Formatter 语法format 语法:
%[argument_index$][flags][width][.precision]conversion
语法说明:
1,% :百分号为固定开头 。
2,argument_index$ :代码格式化第几个参数,参数从1开始 。
3,flags : 可以控制输出的一些标志,比如 "-" 表示左对齐,默认是右对齐 。
4, width : 该区域输出的最小宽度 。比如10,表示该区域固定10个字符长度,小于10个字符的会用空格补齐 。
5,.precision : 输出精度,如果是字符串,则表示最大输出字符串长度,超过会被截取 。如果是浮点类型,则表示小数点的精度 。
6,conversion : 格式化类型,比如s:表示字符串,d:表示整数,f:表示浮点数,t:表示时间等 。
注意:不同的conversion类型,语法会有略不同 。比如时间类型没有[.precision]参数 。Formatter Conversion 支持列表
- 'b' : boolean 类型
- 'h' : 参数对象hashcode 转成十六进制输出
- 's' : 字符串
- 'c' : 字符
- 'd' : 十进制数字
- 'o' : 八进制数字
- 'x' : 十六进制数字
- 'e' : 科学计数法输出浮点数类型
- 'f' : 浮点数类型
- 'g' : 浮点类型以科学计数法或者十进制数字输出,就是 e,f 的结合 。
- 'a' : 浮点类型以十六进制输出
- 't' : 格式化时间类型
- '%' : 输出百分号 %
- 'n' : 输出换行符
【Java 字符串格式化 Formatter】
printf("%1$-10.10s %2$10s%n","Name","Age");1,%1$-10.10s : 1%: 表示使用第一个参数即 "Name" 。-: 表示左对齐 。10: 表示固定宽度 。.10: 表示最大输出10个字符,多余被截取 。s: 表示字符串格式类型 。2,%2$10s:2$: 表示使用第二个参数,即"Age" 。10: 表示固定宽度 。s: 表示字符串格式化类型 。3,%nn: 表示换行
总结掌握字符串,整数,浮点数常用格式化,在编程中基本都够用 。虽然Formatter 也能格式化时间,但建议还是使用时间专用的格式化类比较好 。推荐阅读
- Java集合详解
- C语言字符串数组和字符串指针的区别
- 如何在Java中创建不可变类?
- 探究Java中的final关键字
- JavaScript 用法详解
- C语言访问字符串数组元素的方式
- Java实现KMP 算法
- java实现一个Mqtt broker02处理MqttConn请求
- linux安装卸载java并配置环境变量
- U盘有写保护,无法格式化怎么办? u盘有写保护无法格式化怎么办 win7系统