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.
Cómo usar Formateador de Java
- Pega tu código Java en el editor de la izquierda, abre un archivo .java o carga uno de los ejemplos.
- 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.
- Consulta el resultado a la derecha: se actualiza mientras escribes, o pulsa Formatear Java (Ctrl + Intro).
- 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.
- 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:
| Regla | Google Java Style | Oracle / valores predeterminados del IDE | Configúralo aquí con |
|---|---|---|---|
| Sangría de bloque | 2 espacios | 4 espacios | Sangría |
| Sangría de continuación | +4 espacios | +8 espacios | Automática (el doble de la sangría) |
| Límite de columnas | 100 | 80 (Oracle), 120 (IntelliJ) | Ancho de línea |
| Llave de apertura | Al final de la línea (K&R) | Al final de la línea | Estilo de llaves: Adjuntas |
else, catch, finally | En 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 largas | Antes de los operadores y antes de . | Después de las comas, antes de los operadores | Automático |
Etiquetas case | Con sangría dentro de switch | En 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,catchysynchronized; 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.