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

在Java中,Formatter 类是一个功能强大的工具,用于格式化字符串、数字、日期等数据类型。它基于格式化说明符(format specifiers)将数据按照指定样式输出,常用于生成结构化的文本内容。该类位于 java.util.Formatter 包中,其核心方法是 format() 方法。
Formatter类的基本用法
Formatter 的 format() 方法接受一个格式字符串和若干参数,返回格式化后的结果。使用时需要创建 Formatter 实例,也可以通过 toString() 获取最终字符串。
基本语法如下:
// 创建Formatter对象
Formatter formatter = new Formatter();
// 调用format方法写入内容
formatter.format(“姓名:%s,年龄:%d”, “张三”, 25);
// 获取结果字符串
String result = formatter.toString();
// 关闭资源(必要时)
formatter.close();
注意:使用完毕后应调用 close() 方法释放资源,尤其是在将 Formatter 与输出流结合使用时。
立即学习“Java免费学习笔记(深入)”;
常用格式说明符详解
格式字符串中的占位符以 % 开头,后接格式字符,用于指定对应参数的显示方式。常见格式说明符包括:
%s:格式化字符串 %d:格式化十进制整数 %f:格式化浮点数 %c:格式化字符 %t:格式化日期/时间(需配合子说明符如 %tF 表示 yyyy-MM-dd) %n:换行符(跨平台兼容)
示例:
formatter.format(“价格:%f,折扣:%5.2f”, 99.9, 88.678);
// 输出:价格:99.900000,折扣:88.68
其中,5.2f 表示总宽度至少5位,保留2位小数,不足补空格。
Otter.ai
一个自动的会议记录和笔记工具,会议内容生成和实时转录
91 查看详情
控制对齐与填充
可以通过在格式说明符中添加字段宽度和标志来控制输出对齐方式:
%10s:右对齐,最小宽度为10 %-10s:左对齐,最小宽度为10 %08d:用0填充至8位宽整数
例如:
formatter.format(“|%10s|%10s|”, “姓名”, “分数”);
formatter.format(“%n|%10s|%10.2f|”, “李四”, 92.5);
// 输出:
// | 姓名| 分数|
// | 李四| 92.50|
这种格式适合生成表格类文本。
结合StringBuilder提高性能
如果频繁进行格式化操作,可将 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类操作实践的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1106204.html
微信扫一扫
支付宝扫一扫