You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java中String.format使用的%<s格式符的官方名称是什么?

Java %< 格式符官方称谓说明

这个格式符的官方名称是相对参数索引符(Relative Argument Index),是java.util.Formatter类定义的格式化规则中的一部分,String.format底层就是基于该类实现的。

它的核心作用是复用紧邻上一个格式说明符已经引用过的参数,不需要重复传入相同参数,也不需要手动编写绝对参数索引(例如%1$s这类写法)。

你给出的测试用例完全符合它的设计逻辑:

String sampleString = "%s, %<s %<s";
String output = String.format(sampleString, "A");
System.out.println(output); // 输出 A, A A

这里第一个%s引用了传入的第一个参数"A",后面两个%<s都复用了前一个格式符用过的"A",因此只需要传1个参数就能完成所有占位符的替换。

补充说明:如果在第一个格式说明符的位置就使用%<,会抛出MissingFormatArgumentException异常,因为此时不存在可以被复用的前序参数。

补充常见使用场景示例:

  • 搭配不同类型格式符复用同一个参数,避免重复传值:
// 输出:数值是10,十六进制是a,八进制是12
System.out.println(String.format("数值是%d,十六进制是%<x,八进制是%<o", 10));
  • 可以和绝对参数索引、普通无索引格式符混用,%<永远仅绑定它前面最近一个格式符使用的参数。

内容的提问来源于stack exchange,提问作者AKJ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 12:09:03