String.format() 当参数为空字符串时添加 2 个空格
String.format() adding 2 blank spaces when arguments are empty strings
我有一个简单的方法:
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
时的return值示例:
"housenumber":" "
怎么会?
格式说明符
%2s
表示该字段至少有两个字符宽,space-根据需要进行填充。
如果你的意思是"the second string",那就写
%s
这将自动为您提供第二个参数,因为它是您使用的第二个说明符。 %1s
与第一个参数相同。
我有一个简单的方法:
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
时的return值示例:
"housenumber":" "
怎么会?
格式说明符
%2s
表示该字段至少有两个字符宽,space-根据需要进行填充。
如果你的意思是"the second string",那就写
%s
这将自动为您提供第二个参数,因为它是您使用的第二个说明符。 %1s
与第一个参数相同。