首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >理解Java格式字符串中的$

理解Java格式字符串中的$
EN

Stack Overflow用户
提问于 2009-12-16 22:42:45
回答 1查看 48.7K关注 0票数 89
代码语言:javascript
复制
 StringBuilder sb = new StringBuilder();
 // Send all output to the Appendable object sb
 Formatter formatter = new Formatter(sb, Locale.US);

 // Explicit argument indices may be used to re-order output.
 formatter.format("%4$2s %3$2s %2$2s %1$2s", "a", "b", "c", "d")
 // -> " d  c  b  a"

在这种情况下,为什么在$后面附加一个2?

EN

回答 1

Stack Overflow用户

发布于 2013-04-29 17:22:04

%:格式化字符串

4$:第四个值参数

2:宽度(打印参数时的长度)

s:这是一个字符串参数转换

例如,以下代码段:

代码语言:javascript
复制
StringBuffer sb=new StringBuffer();

Formatter formatter=new Formatter(sb,Locale.UK);

formatter.format("-%4$5s-%3$5s-%2$5s-%1$5s-", "a", "b", "c", "d");

System.out.println(sb);

生成以下输出:

代码语言:javascript
复制
-    d-    c-    b-    a-

(每个参数的宽度为5个字符,用空格填充)

并将5替换为2,将产生以下输出:

代码语言:javascript
复制
- d- c- b- a-

看到区别了吗?:)

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1915074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档