java - String.format() 在参数为空字符串时添加 2 个空格

标签 java string format whitespace

我有一个简单的方法:

private String toJsonFormat(String name, Object value, boolean first) {
    value = value == null ? "" : value; 
    return String.format((first ? "" : ",") + "\"%1s\":\"%2s\"", name, value);
}

当我的 value 参数为 null 时,冒号后会添加 2 个空格,而不是空字符串。

传递null时的返回值示例:

"housenumber":"  "

怎么会?

最佳答案

格式说明符

%2s

表示该字段至少有两个字符宽,必要时用空格填充。

如果你的意思是“第二个字符串”,那么就写

%s

这将自动为您提供第二个参数,因为它是您使用的第二个说明符。对于第一个参数的 %1s 也是如此。

关于java - String.format() 在参数为空字符串时添加 2 个空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27741620/

相关文章:

mysql - 逗号分隔的字符串放入 MySql 中的表中

Android 字符串变量 (HH :mm) to long variable miliseconds

c++ - 打印较大的字符串 C++ 时出现问题

javascript - 无法使用数字键盘输入数字

date - 模型列日期格式

java - 在IntelliJ中使用JDK的本地文档

java - 设置不同域中定义的域类的值

java - 2 个值之间的随机整数

java - 将 xls 转换为图像

python - 找到具有 k 个唯一字母的最大可能子串。 (递归)