您当前的位置:首页 > 电脑百科 > 程序开发 > 语言 > JAVA

Java 字符串格式化 Formatter

时间:2020-03-03 15:05:35  来源:  作者:

Formatter 作用

Formatter 对象主要是把JAVA中的字符串、基本类型及其包装对象格式化成字符串,当然也可以用来格式时间输出。常见的System.out.printf, String.format 都是调用Formatter实现字符串格式化。

 

Formatter 使用例子

格式化输出如下代码:

 

Java 字符串格式化 Formatter

 

输出结果:

 

Java 字符串格式化 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 支持列表

  1. 'b' : boolean 类型
  2. 'h' : 参数对象hashcode 转成十六进制输出
  3. 's' : 字符串
  4. 'c' : 字符
  5. 'd' : 十进制数字
  6. 'o' : 八进制数字
  7. 'x' : 十六进制数字
  8. 'e' : 科学计数法输出浮点数类型
  9. 'f' : 浮点数类型
  10. 'g' : 浮点类型以科学计数法或者十进制数字输出,就是 e,f 的结合。
  11. 'a' : 浮点类型以十六进制输出
  12. 't' : 格式化时间类型
  13. '%' : 输出百分号 %
  14. 'n' : 输出换行符

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,%n
n: 表示换行

总结

掌握字符串,整数,浮点数常用格式化,在编程中基本都够用。虽然Formatter 也能格式化时间,但建议还是使用时间专用的格式化类比较好。



Tags:Java 字符串   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
Formatter 作用Formatter 对象主要是把Java中的字符串、基本类型及其包装对象格式化成字符串,当然也可以用来格式时间输出。常见的System.out.printf, String.format 都是调...【详细内容】
2020-03-03  Tags: Java 字符串  点击:(67)  评论:(0)  加入收藏
本文将介绍 HotSpot 中的 String Pool,字符串常量池。相对是一篇比较简单的文章,大家花几分钟就看完了。在 Java 世界中,构造一个 Java 对象是一个相对比较重的活,而且还需要垃...【详细内容】
2019-12-23  Tags: Java 字符串  点击:(183)  评论:(0)  加入收藏
作者:鸟窝来源:https://colobu.com/ 依照Java的文档, Java中的字符内部是以UTF-16编码方式表示的,最小值是 \\u0000 (0),最大值是\\uffff(65535), 也就是一个字符以2个字节来表...【详细内容】
2019-12-13  Tags: Java 字符串  点击:(72)  评论:(0)  加入收藏
java如何替换字符串中的关键字在日常开发中难免遇到需要替换掉关键字的需求,小编在和一个刚入职的实习小姐姐聊天中了解到她有个需求是将所有的“学员”换成“学生”,小姐姐...【详细内容】
2019-08-16  Tags: Java 字符串  点击:(296)  评论:(0)  加入收藏
▌简易百科推荐
面向对象的特征之一封装 面向对象的特征之二继承 方法重写(override/overWrite) 方法的重载(overload)和重写(override)的区别: 面向对象特征之三:多态 Instanceof关键字...【详细内容】
2021-12-28  顶顶架构师    Tags:面向对象   点击:(2)  评论:(0)  加入收藏
一、Redis使用过程中一些小的注意点1、不要把Redis当成数据库来使用二、Arrays.asList常见失误需求:把数组转成list集合去处理。方法:Arrays.asList 或者 Java8的stream流式处...【详细内容】
2021-12-27  CF07    Tags:Java   点击:(3)  评论:(0)  加入收藏
文章目录 如何理解面向对象编程? JDK 和 JRE 有什么区别? 如何理解Java中封装,继承、多态特性? 如何理解Java中的字节码对象? 你是如何理解Java中的泛型的? 说说泛型应用...【详细内容】
2021-12-24  Java架构师之路    Tags:JAVA   点击:(5)  评论:(0)  加入收藏
大家好!我是老码农,一个喜欢技术、爱分享的同学,从今天开始和大家持续分享JVM调优方面的经验。JVM调优是个大话题,涉及的知识点很庞大 Java内存模型 垃圾回收机制 各种工具使用 ...【详细内容】
2021-12-23  小码匠和老码农    Tags:JVM调优   点击:(12)  评论:(0)  加入收藏
前言JDBC访问Postgresql的jsonb类型字段当然可以使用Postgresql jdbc驱动中提供的PGobject,但是这样在需要兼容多种数据库的系统开发中显得不那么通用,需要特殊处理。本文介绍...【详细内容】
2021-12-23  dingle    Tags:JDBC   点击:(13)  评论:(0)  加入收藏
Java与Lua相互调用案例比较少,因此项目使用需要做详细的性能测试,本内容只做粗略测试。目前已完成初版Lua-Java调用框架开发,后期有时间准备把框架进行抽象,并开源出来,感兴趣的...【详细内容】
2021-12-23  JAVA小白    Tags:Java   点击:(11)  评论:(0)  加入收藏
Java从版本5开始,在 java.util.concurrent.locks包内给我们提供了除了synchronized关键字以外的几个新的锁功能的实现,ReentrantLock就是其中的一个。但是这并不意味着我们可...【详细内容】
2021-12-17  小西学JAVA    Tags:JAVA并发   点击:(11)  评论:(0)  加入收藏
一、概述final是Java关键字中最常见之一,表示“最终的,不可更改”之意,在Java中也正是这个意思。有final修饰的内容,就会变得与众不同,它们会变成终极存在,其内容成为固定的存在。...【详细内容】
2021-12-15  唯一浩哥    Tags:Java基础   点击:(17)  评论:(0)  加入收藏
1、问题描述关于java中的日志管理logback,去年写过关于logback介绍的文章,这次项目中又优化了下,记录下,希望能帮到需要的朋友。2、解决方案这次其实是碰到了一个问题,一般的情况...【详细内容】
2021-12-15  软件老王    Tags:logback   点击:(19)  评论:(0)  加入收藏
本篇文章我们以AtomicInteger为例子,主要讲解下CAS(Compare And Swap)功能是如何在AtomicInteger中使用的,以及提供CAS功能的Unsafe对象。我们先从一个例子开始吧。假设现在我们...【详细内容】
2021-12-14  小西学JAVA    Tags:JAVA   点击:(22)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条