Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
谈到标志,javadoc中描述了标志''(空格)将自动插入一个空格,而不是在数字开头的符号“+”。但是,当我尝试它时,它仅在填充格式说明符的第一个可选参数时才有效。
System.out.printf("% d%n %1$ d%n",0x3);
即使在两个格式化程序中都有一个空格,它只在后一个中有效%1$ d%n,而在前者% d%n中,前导空格表示正数不存在(即使标志 ' ' 处于打开状态)。
%1$ d%n
% d%n
发生这种情况有什么具体原因吗?提前致谢。
这是该行代码的输出:
3 3
两行都有一个前导空格,但是,第二行有两个空格,因为在第二次和第三次转换之间有一个空格,即如果我拆分它String以使其更具可读性:
String
"% d" + "%n" + " " + "%1$ d" + "%n"