HOWTO · Java

So fügen Sie ein Tabulatorzeichen in Java ein

Erfahren Sie, wie Sie in Java einen horizontalen Tabulator mit der Escape-Sequenz , Unicode U+0009 und Alternativen zum Zusammensetzen von Strings einfügen.

Auf dieser Seite

Um in Java zwischen Textwerten einen horizontalen Tabulator einzufügen, setzen Sie die Escape-Sequenz \t in ein Stringliteral. Der Tabulator rückt den folgenden Text bis zum nächsten Tabstopp vor; wie groß der sichtbare Abstand ist, hängt vom Programm ab, das die Ausgabe darstellt.

Führen Sie dieses Beispiel aus:

Mit der Tabulator-Escape-Sequenz \t in Java einen Tabulator einfügen

Der Backslash und das t bilden im Java-Quelltext zusammen eine Escape-Sequenz. Beim Erstellen des Strings wandelt Java sie in ein Tabulatorzeichen um. Setzen Sie die Sequenz also an die Stelle, an der der Tabulator erscheinen soll:

public class TabExample {
  public static void main(String[] args) {
    System.out.println("Name:\tAda");
  }
}

Das Programm gibt Name:, einen horizontalen Tabulator und Ada in einer Zeile aus. Ein Terminal, Editor oder eine andere Ausgabeoberfläche legt die Breite der Tabstopps fest; der sichtbare Abstand besteht daher nicht aus einer festen Anzahl von Leerzeichen.

Mit einem Unicode-Zeichen in Java einen Tabulator einfügen

Der horizontale Tabulator ist der Unicode-Codepunkt U+0009. Java erkennt im Quelltext auch die Unicode-Escape-Sequenz \u0009; verketten Sie sie zwischen zwei Werten, um dort einen Tabulator einzufügen. Die Unicode-Zeichenreferenz enthält weitere Informationen. Unicode ist ein Standard zur Zeichenkodierung, aber keine feste 16-Bit-Kodierung für jedes Zeichen.

Dieses vollständige Beispiel verwendet die Unicode-Escape-Sequenz zwischen den beiden Werten. Die Ausgabe enthält einen horizontalen Tabulator; seine sichtbare Breite hängt von den Tabstopps der jeweiligen Ausgabeoberfläche ab.

public class TabExample {
  public static void main(String[] args) {
    String tab = "\u0009";
    System.out.println("Name:" + tab + "Ada");
  }
}
Name:	Ada

In gewöhnlichen Java-Strings ist "\t" die kürzere und geläufige Schreibweise für dasselbe horizontale Tabulatorzeichen.

Mit String.format in Java eine Ausrichtung mit Leerzeichen erreichen

String.format formatiert Werte anhand einer Formatzeichenfolge. Eine Feldbreite füllt einen kurzen Wert mit Leerzeichen auf; sie fügt kein Tabulatorzeichen ein. In diesem vollständigen Beispiel erhält Name: eine Mindestbreite von zehn Zeichen, sodass vor Ada fünf Leerzeichen stehen:

public class TabExample {
  public static void main(String[] args) {
    String formatted = String.format("%-10s%s", "Name:", "Ada");
    System.out.println(formatted);
  }
}
Name:     Ada

Verwenden Sie \t, wenn die Daten ein echtes Tabulatorzeichen enthalten sollen. Feldbreiten eignen sich, wenn die Formatierung mit Leerzeichen beabsichtigt ist. In beiden Fällen können Spalten mit Proportionalschriften oder bei Werten, die die gewählte Breite überschreiten, ungleichmäßig aussehen.

Mit StringBuilder oder StringBuffer in Java einen Tabulator einfügen

Wenn Sie einen String aus mehreren Teilen zusammensetzen, fügen Sie den Tabulator an der Verbindungsstelle ein. Dieses Beispiel zeigt dieselbe Konstruktion mit beiden Klassen; jede fügt '\t' zwischen Name: und Ada ein:

public class TabExample {
  public static void main(String[] args) {
    StringBuilder builder = new StringBuilder();
    builder.append("Name:").append('\t').append("Ada");
    System.out.println(builder);

    StringBuffer buffer = new StringBuffer();
    buffer.append("Name:").append('\t').append("Ada");
    System.out.println(buffer);
  }
}
Name:	Ada
Name:	Ada

StringBuffer synchronisiert seine Operationen, StringBuilder dagegen nicht. Wählen Sie danach, ob die Synchronisierung der Pufferoperationen benötigt wird, und gehen Sie nicht davon aus, dass eine Klasse immer schneller ist. Beide Klassen eignen sich für Strings, die schrittweise aufgebaut werden. Für einen kurzen, feststehenden String ist die Verkettung von Werten mit "\t" einfacher. Die sichtbare Tabulatorbreite hängt weiterhin von der Ausgabeoberfläche ab.

Mit mehreren Anweisungen und System.out.print in Java einen Tabulator einfügen

Rufen Sie System.out.print für jeden Teil auf, damit die Ausgabe in der aktuellen Zeile bleibt. Verwenden Sie dann für den letzten Wert println, um die Zeile zu beenden. Der Tabulator zwischen den Aufrufen rückt den Text bis zu einem Tabstopp vor, dessen Position von der Ausgabeoberfläche festgelegt wird:

public class TabExample {
  public static void main(String[] args) {
    System.out.print("Name:");
    System.out.print('\t');
    System.out.println("Ada");
  }
}
Name:	Ada

Diese Methode ist praktisch, wenn die Teile separat erzeugt werden. Für einen einzelnen Ausdruck ist ein String mit \t kompakter.

Fazit

Verwenden Sie \t für einen wörtlichen horizontalen Tabulator in einem Java-String. U+0009 und \u0009 bezeichnen dasselbe Tabulatorzeichen, während Feldbreiten in String.format für eine einfache Ausrichtung Leerzeichen hinzufügen. Mit StringBuilder, StringBuffer und mehreren Druckaufrufen können Sie den Tabulator beim schrittweisen Zusammensetzen oder Ausgeben von Text einfügen. Der sichtbare Abstand bis zum nächsten Wert hängt von den Tabstopps der Ausgabeumgebung ab.