Форматировать код Java

Вставьте код Java, сжатый в одну строку или с неправильными отступами: инструмент заново расставит отступы в каждом блоке { } (классы, методы, условия, циклы) и вернёт по одной инструкции на строку для удобного чтения.

Внимание: это базовый форматтер по отступам, а не полноценный инструмент вроде google-java-format. Он не проверяет компиляцию кода и не переупорядочивает все пробелы вокруг операторов.

Пример:

Как это работает

Код разбирается посимвольно небольшим конечным автоматом, который отличает код от строк (в одинарных и двойных кавычках) и комментариев (//, /* */), чтобы никогда не разорвать фигурную скобку или точку с запятой внутри строки. Каждая открывающая фигурная скобка увеличивает отступ на 4 пробела, каждая закрывающая — уменьшает, а каждая точка с запятой вне круглых скобок завершает строку.

Может ли переформатированный код перестать компилироваться?

Нет: меняется только оформление (пробелы, переносы строк, отступы), но никогда не логика кода. Названия классов, методов и переменных остаются строго прежними.

Корректно ли обрабатываются импорты и аннотации?

Инструкции import заканчиваются точкой с запятой и поэтому подчиняются тому же правилу, что и остальные инструкции (одна на строку). Аннотации вроде @Override обрабатываются как обычный текст и остаются непосредственно перед элементом, к которому относятся.

Форматирование выполняется 100% локально в вашем браузере: ваш код Java никогда не отправляется на сервер.