Java String Format 字符串格式化

发布于 2024-05-15 09:17:04 字数 1226 浏览 39 评论 0

在 Android 开发中,经常会用到和后端 Api 进行交互,而目前基本上都是 REST 风格的 Api,会经常遇到拼接 Url 的情况,例如下面一个 api:

GET /api/v1/posts/:id.json?page=2&token=asdfghjkl

这里 url 里的 id 以及参数 page 和 token 都是动态的,这时候最好的做法就是用 String.format() ​ 方法。

final String POST = "/api/v1/posts/%1$d.json?page=%2$d&token=%3$s"
System.out.println(String.format(POST, 12, 1, "asdfghjkl"));

#=> /api/v1/posts/12.json?page=1&token=asdfghjkl

很方便吧, String.format 是在 JDK 1.5 中新增的静态方法,功能强。它主要功能是格式化数据,大致分为这些类(常规类型、字符类型、数值类型、日期类型)。它的语法如下:常规类型、字符类型和数值类型的格式说明符的语法: %[参数索引位置$][转换标识符][最小官渡][.保留精度位数] 转换方式。

如上述 1$, 2$ 代表参数索引位置,而 d, s 则是转换标示符,关于更多的转换标示符见下面:

  • %s 字符串类型 如"mingrisoft"
  • %c 字符类型 'm'
  • %b 布尔类型 true
  • %d 整数类型(十进制) 99
  • %x 整数类型(十六进制) FF
  • %o 整数类型(八进制) 77
  • %f 浮点类型 99.99
  • %a 十六进制浮点类型 FF.35AE
  • %e 指数类型 9.38e+5
  • %g 通用浮点类型(f 和 e 类型中较短的)
  • %% 百分比类型 %
  • %n 换行符
  • %tx 日期与时间类型(x 代表不同的日期与时间转换符)

这里只介绍一些简单的用法, String.format 尤其对日期类型格式化的时候更加强大,更多用法详见 JDK api。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

离鸿

暂无简介

0 文章
0 评论
23 人气
更多

推荐作者

内心激荡

文章 0 评论 0

JSmiles

文章 0 评论 0

左秋

文章 0 评论 0

迪街小绵羊

文章 0 评论 0

瞳孔里扚悲伤

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文