Java格式字符串怎么使用
导读:本文共7272.5字符,通常情况下阅读需要24分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: Class Formatter该类提供了对布局调整和对齐的支持,对数字、字符串和日期/时间数据的常用格式,以及本地特定的输出。支持常见的Java类型,如byte、BigDecimal和Calendar。通过Formattable接口为任意的用户类型提供有限的格式化定制。格式化器对于多线程访问不一定安全。线程安全是可选的。举例说明:StringBuildersb=... ...
目录
(为您整理了一些要点),点击可以直达。该类提供了对布局调整和对齐的支持,对数字、字符串和日期/时间数据的常用格式,以及本地特定的输出。支持常见的Java类型,如byte、BigDecimal和Calendar。通过Formattable接口为任意的用户类型提供有限的格式化定制。
格式化器对于多线程访问不一定安全。线程安全是可选的。
举例说明:
如以下调用所示,存在用于常见格式化请求的便捷方法:
像 C语言的sprintf(3)
,字符串可以使用静态方法格式化String.format
:
*每个产生格式化输出的方法都需要一个格式字符串和一个参数列表。
格式字符串是一个String
可能包含固定文本和一个或多个嵌入格式说明符的字符串。
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Formatter.html#syntax
此格式字符串是该format
方法的第一个参数。它包含三个格式说明符“%1$tm
”、“%1$te
”和“%1$tY
”,它们指示应如何处理参数以及应在文本中插入的位置。格式字符串的其余部分是固定文本"Dukes Birthday: "
,包括任何其他空格或标点符号。参数列表包含在格式字符串之后传递给方法的所有参数。
通用、字符和数字类型的格式说明符具有以下语法:
%[argument_index$][flags][width][.precision]conversion
可选的argument_index是一个十进制的整数,表示参数在参数列表中的位置。第一个参数用 "1$"引用,第二个用 "2$"引用,等等。
可选的flags是一组用于修改输出格式的字符。有效标志的集合取决于转换的情况。
可选的width是一个正的十进制整数,表示要写入输出的最小字符数。
可选的precision是一个非负的十进制整数,通常用于限制字符的数量。具体行为取决于转换的情况。
所需的conversion是一个字符,表示参数应该如何被格式化。一个给定参数的有效转换集取决于该参数的数据类型。
用于表示日期和时间的类型的格式说明符具有以下语法:
%[argument_index$][flags][width]conversion
可选的argument_index、flags和width定义如上。
所需的conversion是两个字符序列。第一个字符是't'
或'T'
。第二个字符表示要使用的格式。这些字符与 GNUdate
和 POSIXstrftime(3c)
定义的字符相似但不完全相同。
与参数不对应的格式说明符具有以下语法:
%[flags][width]conversion
可选flags和width定义如上。
所需的conversion是指示要在输出中插入的内容的字符。
conversion
conversion分为以下几类:
一般- 可应用于任何参数类型
字符- 可应用于表示 Unicode 字符的基本类型:char
、Character
、byte
、Byte
、short
和Short
.这种转换也可以应用于类型int
和Integer当Character.isValidCodePoint(int)
返回true时
数字
Integral- 可以应用于 Java 整数类型:byte
,Byte
,short
,Short
,int
andInteger
,long
,Long
, andBigInteger
(但不是char或者
Character
)
浮点- 可应用于 Java 浮点类型:float
、Float
、double
、Double
和BigDecimal
日期/时间- 可应用于能够编码日期或时间的 Java 类型:long
、Long
、Calendar
和Date
TemporalAccessor
百分比- 产生字面的'%'
('\u0025'
)
行分隔符- 生成特定于平台的行分隔符
对于类别General、Character、Numberic、Integral和Date/Time转换,除非另有说明,否则如果参数arg为null
,则结果为 "null
"。
日期/时间转换
以下日期和时间转换后缀字符是定义给't','T'-这两个conversion的。
以下转换字符用于格式化时间:
以下转换字符用于格式化日期:
以下转换字符用于格式化常见的日期/时间组合。
任何未明确定义为日期/时间转换后缀的字符都是非法的,并为将来的扩展保留。
Flags
1取决于 Formattable的定义
。
2仅用于'd'
conversion。
3仅适用于'o'
、'x'
和'X'
conversion。
4对于'd'
,'o'
,'x'
, 和'X'
conversions应用于BigInteger
或'd'
应用于byte
,Byte
,short
,Short
,int
和Integer
,long
, 和Long
。
5仅适用于'e'
、'E'
、'f'
、'g'
和'G'
conversion。
任何未明确定义为标志的字符都是非法的,并为将来的扩展保留。
Java格式字符串怎么使用的详细内容,希望对您有所帮助,信息来源于网络。