Formatter类用于格式化数据,通过format()方法结合格式说明符(如%s、%d)生成结构化文本,支持对齐、填充等控制,并可与StringBuilder结合提升性能。

在Java中,Formatter 类是一个功能强大的工具,用于格式化字符串、数字、日期等数据类型。它基于格式化说明符(format specifiers)将数据按照指定样式输出,常用于生成结构化的文本内容。该类位于 java.util.Formatter 包中,其核心方法是 format() 方法。
Formatter 的 format() 方法接受一个格式字符串和若干参数,返回格式化后的结果。使用时需要创建 Formatter 实例,也可以通过 toString() 获取最终字符串。
基本语法如下:
// 创建Formatter对象
Formatter formatter = new Formatter();
// 调用format方法写入内容
formatter.format("姓名:%s,年龄:%d", "张三", 25);
// 获取结果字符串
String result = formatter.toString();
// 关闭资源(必要时)
formatter.close();
注意:使用完毕后应调用 close() 方法释放资源,尤其是在将 Formatter 与输出流结合使用时。
立即学习“Java免费学习笔记(深入)”;
格式字符串中的占位符以 % 开头,后接格式字符,用于指定对应参数的显示方式。常见格式说明符包括:
示例:
formatter.format("价格:%f,折扣:%5.2f", 99.9, 88.678);
// 输出:价格:99.900000,折扣:88.68
其中,5.2f 表示总宽度至少5位,保留2位小数,不足补空格。
可以通过在格式说明符中添加字段宽度和标志来控制输出对齐方式:
例如:
formatter.format("|%10s|%10s|", "姓名", "分数");
formatter.format("%n|%10s|%10.2f|", "李四", 92.5);
// 输出:
// | 姓名| 分数|
// | 李四| 92.50|
这种格式适合生成表格类文本。
如果频繁进行格式化操作,可将 StringBuilder 作为底层缓冲区传入 Formatter 构造函数,避免频繁创建中间字符串。
StringBuilder sb = new StringBuilder();
Formatter formatter = new Formatter(sb);
for (int i = 1; i
formatter.format("第%d项%n", i);
}
System.out.print(sb.toString());
// 输出:
// 第1项
// 第2项
// 第3项
这种方式比每次拼接字符串更高效。
基本上就这些。Formatter 提供了高度可控的格式化能力,虽然平时更多使用 String.format() 或 System.out.printf()(它们内部也使用 Formatter),但在需要精细控制或批量处理时,直接操作 Formatter 类会更灵活。掌握其格式规则和参数用法,有助于输出清晰、规范的文本信息。
以上就是在Java中如何使用Formatter.format格式化字符串_Formatter类操作实践的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号