Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java String.format()在参数为空字符串时添加2个空格_Java_String_Format_Whitespace - Fatal编程技术网

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

Java String.format()在参数为空字符串时添加2个空格,java,string,format,whitespace,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时,冒号后面会添加两个空格,而不是空字符串 传递null时

我有一个简单的方法:

private String toJsonFormat(String name, Object value, boolean first) {
    value = value == null ? "" : value; 
    return String.format((first ? "" : ",") + "\"%1s\":\"%2s\"", name, value);
}
当我的value参数为
null
时,冒号后面会添加两个空格,而不是空字符串

传递
null
时的返回值示例:

"housenumber":"  "
为什么?

格式说明符

%2s
表示此字段至少有两个字符宽,根据需要填充空格

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

%s

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

如果您能提供一个简短但完整的程序来演示这个问题,那会很有帮助。此外,除非确实需要
第一部分
来演示问题,否则您应该删除该部分。对于这样的问题,一个理想的问题包含一个简短但完整的程序,除了手头的问题外,没有其他内容,还有对预期结果和实际结果的描述。谢谢,是的,我认为这与论点的顺序有关:\