HOWTO · Java

Cómo insertar un espacio de tabulación en Java

Aprenda a insertar una tabulación horizontal en Java con la secuencia de escape , Unicode U+0009 y alternativas para construir cadenas.

En esta página

Para insertar una tabulación horizontal entre valores de texto en Java, coloca la secuencia de escape \t dentro de una cadena. La tabulación lleva el texto siguiente hasta una posición de tabulación; el espaciado visible depende del programa que muestre la salida.

Ejecuta este ejemplo:

Usar la secuencia de escape \t para insertar una tabulación en Java

La barra invertida y la letra t forman una secuencia de escape en el código fuente de Java. Java la convierte en un carácter de tabulación al crear la cadena, así que colócala donde deba aparecer la tabulación:

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

El programa escribe Name:, una tabulación horizontal y Ada en una sola línea. La terminal, el editor u otra superficie de salida determina el ancho de las posiciones de tabulación; por eso, el espacio visible no equivale a una cantidad fija de espacios.

Usar un carácter Unicode para insertar una tabulación en Java

La tabulación horizontal corresponde al punto de código Unicode U+0009. Java también reconoce en el código fuente la secuencia de escape Unicode \u0009; concaténala entre valores para insertar allí una tabulación. La referencia de caracteres Unicode ofrece más contexto. Unicode es un estándar de codificación de caracteres, no una codificación fija de 16 bits para todos los caracteres.

Este ejemplo completo usa la secuencia de escape Unicode entre los dos valores. La salida contiene una tabulación horizontal, cuyo ancho visible depende de las posiciones de tabulación de la superficie de salida.

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

En las cadenas Java habituales, "\t" es la forma más breve y conocida de representar el mismo carácter de tabulación horizontal.

Usar el método String.format para alinear texto con espacios en Java

String.format da formato a los valores según una cadena de formato. El ancho de campo rellena con espacios un valor corto; no inserta un carácter de tabulación. Este ejemplo completo asigna a Name: un ancho mínimo de diez caracteres, por lo que aparecen cinco espacios antes de Ada:

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

Usa \t cuando los datos deban contener una tabulación real. Usa anchos de campo cuando el formato deseado sea el relleno con espacios. En ambos casos, las columnas pueden verse desalineadas con fuentes proporcionales o cuando los valores superan el ancho elegido.

Usar StringBuilder o StringBuffer para insertar una tabulación en Java

Al construir una cadena a partir de varias partes, añade la tabulación en el punto de unión. Este ejemplo muestra la misma construcción con ambas clases; cada una añade '\t' entre Name: y Ada:

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 sincroniza sus operaciones; StringBuilder no. Elige según necesites sincronizar las operaciones del búfer, sin asumir que una clase siempre es más rápida. Ambas sirven para construir cadenas paso a paso; para una cadena corta y fija, concatenar valores con "\t" es más sencillo. El ancho visible de la tabulación sigue dependiendo de la superficie de salida.

Usar varias instrucciones System.out.print para insertar una tabulación en Java

Llama a System.out.print para cada parte y mantenerla en la línea actual; después, usa println para el último valor y así terminar la línea. La tabulación entre las llamadas avanza hasta una posición de tabulación determinada por la superficie de salida:

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

Este método resulta práctico cuando las partes se generan por separado; para una sola expresión, una cadena que contenga \t es más compacta.

Conclusión

Usa \t para incluir una tabulación horizontal literal en una cadena Java. U+0009 y \u0009 representan el mismo carácter de tabulación, mientras que los anchos de campo de String.format añaden espacios para una alineación sencilla. StringBuilder, StringBuffer y varias llamadas de impresión permiten insertar la tabulación al construir o escribir texto por partes. La distancia visible hasta el valor siguiente depende de las posiciones de tabulación del entorno de salida.