Java-Code formatieren

Java einfügen und mit den vier Auswahlfeldern formatieren. Nur der Weißraum zwischen Tokens wird neu geschrieben: Textblöcke, Literale, Annotationen und Kommentare behalten ihren Inhalt — nichts wird hochgeladen.

Läuft lokal in deinem Browser
Kopieren

Java-Code im Browser formatieren

Java-Quelltext einfügen, und die Seite gibt dasselbe Programm mit einheitlicher Einrückung zurück: eine Anweisung pro Zeile, der gewählte Klammerstil und optionaler Zeilenumbruch. Nur der Weißraum zwischen den Tokens wird neu geschrieben — Textblöcke, Zeichenketten, Zeichenliterale, Zahlen wie 10_000L oder 0b1010, Annotationen und Kommentare behalten ihren Inhalt.

Alles läuft in diesem Tab: Es wird nichts hochgeladen, die Seite funktioniert offline, und nichts wird auf die Festplatte geschrieben. Der Formatierer kompiliert und prüft nicht — eine Datei, die nicht kompiliert, kommt formatiert zurück, nicht repariert.

  1. Java-Code in den Editor einfügen oder eintippen.
  2. Einrückung, Leerzeilen, Zeilenumbruch und Klammerstil wählen; das Ergebnis wird bei jeder Änderung neu erzeugt.
  3. Auf Java-Code formatieren klicken oder im Editor Strg / Cmd + Enter drücken.
  4. Mit Kopieren das Ergebnis übernehmen, mit Leeren beide Bereiche leeren.

Was der Formatierer umschreibt — und was unangetastet bleibt

Nur Weißraum — das Programm kann sich nicht ändern

Der Quelltext wird mit den lexikalischen Regeln von Java gelesen: Zeilen- und Blockkommentare, Javadoc, Textblöcke, Zeichenliterale, String-Escapes, Zahlen mit 0x- / 0b-Präfix, Unterstrichen und l- / f- / d-Suffix, Annotationen und alle Operatoren. Der Lambda-Pfeil bleibt ->, der Switch-Pfeil bleibt ->, und Generics kommen kompakt zurück — Map<String, List<Integer>> statt des aufgeblähten Map < String >, das ein ausdrucksorientierter Beautifier erzeugt.

Die Ausgabe enthält genau die Tokens der Eingabe, in derselben Reihenfolge. Das erhält """-Textblöcke, @SuppressWarnings({"unchecked"}) und Literale wie .5f, 10_000L oder 0x1.8p1. Die formatierte Ausgabe eines Korpus aus 15 Dateien — Textblöcke, Records, sealed Interfaces, Switch-Ausdrücke, Pattern Matching — lässt sich mit javac 21 erneut kompilieren. Eine bewusste Ausnahme: Fortsetzungszeilen von Kommentaren werden mit dem umgebenden Code eingerückt.

Die vier Optionen in der Praxis

Einrückung: ein Tabulator oder 2, 3, 4 oder 8 Leerzeichen. Leerzeilen können entfernt, auf ein oder zwei begrenzt oder beibehalten werden. Der Umbruch ist standardmäßig aus und bricht lange Zeilen bei 80 oder 120 Zeichen; gebrochen wird nach Kommas und vor Operatoren, die Fortsetzung steht eine Ebene tiefer.

Der Klammerstil folgt der Auswahl: K&R lässt die öffnende Klammer in der Zeile, Allman setzt sie in eine eigene Zeile, die dritte Option verschiebt nur else, catch und finally. In Chrome wird eine 58-KB-Java-Datei in rund 10 ms formatiert, eine erzeugte 4-MB-Datei in rund 0,5 s.

Was er nicht tut

Es gibt keinen Compiler, keine Syntaxreparatur und keine Prüfung der Sprachversion: Textblöcke brauchen Java 15+, Switch-Ausdrücke 14+ und Records 16+. Ein Fragment, das nicht kompiliert, kommt formatiert zurück — und kompiliert weiterhin nicht.

Auch ein vollständiger Styleguide wird nicht befolgt: Imports werden nicht umsortiert, lange Bedingungsketten nur bis zur Umbruchbreite geteilt, verkettete Aufrufe nicht ausgerichtet. Für Projekte den IDE-Formatierer nutzen; diese Seite ist für Schnipsel, Patches, Logauszüge und Code, den man nicht im Editor öffnen kann.

Zuletzt verwendet: