В функции «симпатичной печати» для вложенной карты мне нужна простая функция отступа, чтобы добавить необходимое пространство к моей структуре.Я хотел простой однострочник, и лучшее, что я нашел, было решение с 2 линиями.В идеале я хотел это:
String indentSpace = new String(Arrays.fill(new char[indent], 0, indent-1, ' '));
Это не работает, потому что Arrays.fill не «свободно»;он возвращает void.
Дословный перевод этого выражения слишком многословен на мой вкус:
char[] chars = new char[indent];
Arrays.fill(chars , ' ');
String indentSpace = new String(chars);
Наконец, я остановился на двухстрочном решении с отсутствием блеска:
private final String indentSpace=" ";
...
String alternative = indentSpace.substring(0,indent % indentSpace.length());
Это незначительная приманка, но мне было любопытно, есть ли более элегантное решение.Я полагаю, что последний вариант может быть хорошим выбором с точки зрения производительности.
Любые варианты?