Быстрый способ динамического отступа строк в Java

1

У меня есть список с каждой строкой текста:

STARTTIMING: main
| STARTTIMING: loop
| | STARTTIMING: doSomeStuff()
| | STOPTIMING: doSomeStuff() 1ms
| | STARTTIMING: doSomeStuff()
| | STOPTIMING: doSomeStuff() 1ms
| STOPTIMING: loop 5ms
STOPTIMING: main 5ms

Я знаю, как отформатировать его с помощью "грубой силы", но как только это приложение для измерения производительности, каков быстрый способ печати строк в формате, показанном выше (отступ правильно и вставка вертикальных баров) в Java?

  • 1
    Как выглядит ваш текущий код? Вы используете StringBuilder или просто обычный String ?
  • 0
    @ Я установлю в массиве строки, которые я получу из своих измерений. У меня есть как STARTTIMING: main , STARTTIMING: loop , STOPTIMING: doSomeStuff() 1ms в каждой позиции массива. Мой алгоритм должен решить, когда идент и сколько идентов.
Теги:
string
indentation

1 ответ

1
Лучший ответ

Современная JVM оптимизирует конкатенацию строк для вас. Я бы не стал пытаться перехитрить его, если вы не делаете что-то очень болезненное. Я не могу сказать, есть ли у вас, так как вы не опубликовали свой фактический код.

Здесь немного помощи

indentString = new String(new char[indentCount]).replace("\0", "|");

что я украл отсюда

Кроме того, если вы хотите сказать, что беспокоитесь о времени, которое занимает конкатенация, потому что она часть кода измерения времени, а затем для оценки Торса измеряет разницу во времени, прежде чем делать какое-либо конкатенирование или что-то еще.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню