Inicio › Herramientas para desarrolladores › Formateador de Java

Formateador de Java

Pega código Java y recupéralo con sangría, espaciado y saltos de línea uniformes. Elige el tamaño de sangría, el estilo de llaves y el ancho de línea; el formateador integrado funciona al instante mientras escribes, y clang-format compilado a WebAssembly está a un clic. No se sube nada.

Última actualización:

Consejo: pulsa Ctrl + Intro para formatear; Tab aplica sangría dentro del editor (pulsa antes Esc para mover el foco). Tu código se formatea en tu navegador y nunca se sube, compila ni ejecuta.

Publicidad
Publicidad

Cómo usar Formateador de Java

  1. Pega tu código Java en el editor de la izquierda, abre un archivo .java o carga uno de los ejemplos.
  2. Elige la sangría, el estilo de llaves y el ancho de línea; los valores predeterminados (4 espacios, llaves adjuntas, 100 columnas) siguen las convenciones habituales de Java.
  3. Consulta el resultado a la derecha: se actualiza mientras escribes, o pulsa Formatear Java (Ctrl + Intro).
  4. Corrige cualquier problema de sintaxis que se muestre en rojo: haz clic en Mostrar en la entrada para saltar a la llave o la cadena sin cerrar.
  5. Copia o descarga el código formateado como archivo .java.

Convenciones de formato de Java de un vistazo

La mayoría de los equipos de Java siguen la Google Java Style Guide o las antiguas Code Conventions de Oracle (Sun). Coinciden en lo esencial y se diferencian sobre todo en el tamaño de la sangría y la longitud de línea:

ReglaGoogle Java StyleOracle / valores predeterminados del IDEConfigúralo aquí con
Sangría de bloque2 espacios4 espaciosSangría
Sangría de continuación+4 espacios+8 espaciosAutomática (el doble de la sangría)
Límite de columnas10080 (Oracle), 120 (IntelliJ)Ancho de línea
Llave de aperturaAl final de la línea (K&R)Al final de la líneaEstilo de llaves: Adjuntas
else, catch, finallyEn la misma línea que }En la misma línea que }Adjuntas (o Stroustrup para una línea nueva)
Saltos de línea en expresiones largasAntes de los operadores y antes de .Después de las comas, antes de los operadoresAutomático
Etiquetas caseCon sangría dentro de switchEn la misma columna que switch (Oracle)Con sangría

Qué cambia el formateador

  • Espaciado: un espacio alrededor de los operadores binarios y de asignación, después de las comas y de palabras clave como if, for, while, catch y synchronized; sin espacio dentro de los paréntesis ni antes del ( de una llamada a método. Los genéricos quedan compactos: Map<String, List<Integer>>.
  • Conversiones de tipo: un espacio después del cast, como exige el estilo de Google: (int) value.
  • Saltos de línea: una instrucción por línea, llaves colocadas según el estilo elegido y líneas largas divididas después de las comas, antes de &&/|| o antes de llamadas encadenadas como .stream().map(…). Se conservan los saltos de línea que pongas antes de . en una cadena de streams.
  • Líneas en blanco: las series de líneas en blanco se reducen a una, y se eliminan las líneas en blanco justo después de { o antes de }.
  • Se conservan tal cual: los comentarios, el texto Javadoc (realineado a la nueva sangría), los literales de cadena y de carácter, los bloques de texto y las anotaciones.

El formateador no reordena imports ni miembros, no renombra nada ni añade llaves que falten. Para comparar el resultado con tu original, pega ambos en el Comparador de código. ¿Generas clases de modelo a partir de una respuesta de API? Prueba JSON a clase Java.

Preguntas frecuentes

¿Este formateador de Java cambia lo que hace mi código?

No. Solo cambia los espacios en blanco: la sangría, los espacios alrededor de los operadores, los saltos de línea y la posición de las llaves. Los tokens, nombres, cadenas, comentarios y bloques de texto se conservan exactamente, así que el programa compilado es el mismo.

¿Qué diferencia hay entre el motor integrado y clang-format?

El motor integrado es un formateador pequeño basado en tokens que funciona al instante y sin conexión. clang-format es el formateador de LLVM que también admite Java; se carga una vez como WebAssembly (unos 2 MB) y produce un resultado muy parecido al que obtienes desde la línea de comandos con BasedOnStyle: Google.

¿Java debe usar 2 o 4 espacios?

Ambos son habituales. La Google Java Style Guide usa 2 espacios con un límite de 100 columnas, mientras que las antiguas convenciones de código de Oracle (Sun) y la mayoría de los IDE por defecto (IntelliJ IDEA, Eclipse) usan 4 espacios. Elige el que ya use tu proyecto.

¿Qué estilo de llaves es el estándar en Java?

Las llaves adjuntas (estilo K&R, con la llave de apertura al final de la línea) son la convención en casi todo el código Java, incluidas las convenciones de Oracle y el estilo de Google. El estilo Allman, con las llaves en su propia línea, es Java válido pero poco habitual.

¿Puede formatear código que no compila?

Sí, siempre que los corchetes y las cadenas estén equilibrados. El formateador no comprueba tipos, así que no importa si faltan imports o hay clases desconocidas. Si queda abierta una llave, un corchete o una cadena, indica la línea y la columna y aun así formatea lo mejor posible.

¿Admite la sintaxis moderna de Java?

Sí: reconoce genéricos y comodines, lambdas, referencias a métodos (::), records, interfaces sealed, expresiones switch con casos de flecha y yield, pattern matching con instanceof, var y bloques de texto (cadenas entre triples comillas).

¿Se sube mi código fuente?

No. El formateo se hace por completo en tu navegador. Solo el motor opcional clang-format se descarga desde una CDN pública; tu código nunca se envía a ningún sitio.

¿Se prueban todas las herramientas de FreeToolCabin para comprobar su calidad y precisión?

Sí. Cada herramienta del sitio pasa pruebas automáticas en navegadores reales para comprobar que el resultado es correcto y que no hay errores. Si encuentras un fallo o tienes una sugerencia, escríbenos a [email protected] y lo revisaremos.

Herramientas relacionadas

Ver todas las de Formateadores y validadores de código →