String.format() добавление 2 пробелов, когда аргументы являются пустыми строками
У меня есть этот простой метод, который идет:
private String toJsonFormat(String name, Object value, boolean first) {
value = value == null ? "" : value;
return String.format((first ? "" : ",") + "\"%1s\":\"%2s\"", name, value);
}
Когда мой аргумент значения null
После двоеточия добавляется 2 пробела вместо пустой строки.
Пример возвращаемого значения, когда null
передается:
"housenumber":" "
Как так?
1 ответ
Решение
Спецификатор формата
%2s
означает, что это поле будет иметь ширину не менее двух символов и дополнено пробелами.
Если вы имели в виду "вторая строка", просто напишите
%s
Это автоматически даст вам второй аргумент, потому что это второй спецификатор, который вы используете. То же самое для %1s
у вас за первый аргумент.