Desde la entrada a Java hasta el dominio de la sintaxis de las 3 comillas dobles en Java 15

¿Cuál es la sintaxis de las 3 comillas dobles """ en Java?

Esto es nuevo en Java 15, ¡actualice sus conocimientos!

I. Introducción

Cuando se lanzó Java 15, Text Blocks se convirtió oficialmente en miembro de tiempo completo. Yo lo llamo "bloque de texto". Bueno, el administrador de pila también dio una breve introducción. Si no lo ha visto, puede hacer clic aquí para leerlo. .

Un bloque de texto, que es una cadena de varias líneas, evita el uso de la mayoría de los símbolos de escape, formatea automáticamente la cadena de forma predecible y le da al desarrollador control sobre el formato si es necesario.

Inicialmente se planeó agregar el bloque de texto en JDK 12, pero finalmente se retiró y luego se agregó como una función de vista previa en JDK 13, y luego se obtuvo una vista previa nuevamente en JDK 14. En JDK 15, el bloque de texto finalmente se convirtió en una versión completa. función de tiempo y no se realizará por el momento. Más cambios.

Dos, ejemplos

Eche un vistazo a este ejemplo de lenguaje HTML y comprenderá:

No usar bloques de texto::

Cadena html1 = “\n” +

          "    \n" +

          "        

Hola, pila de tecnología Java.

\n" +

          "        

Bienvenido a prestar atención y compartir más productos secos.

\n" +

          "    \n" +

          "\n";

Usando bloques de texto:

Cadena html2 = “”"

Hola, pila de tecnología Java.

Bienvenido a prestar atención y compartir más productos secos.

          """;

El bloque de texto debe estar entre comillas dobles. Cualquiera que esté familiarizado con Python sabe que tres comillas dobles representan comentarios de varias líneas. No esperaba que Java lo usara como una cadena de varias líneas...

Miremos el código de bytes nuevamente:

¿Lo viste? Después de compilar el bloque de texto, se agregará automáticamente un carácter de nueva línea, que es consistente con el resultado de la compilación del método de escritura de empalme original, y ya no es necesario empalmar cadenas.

3. Introducción detallada

De hecho, la función del bloque de texto es mucho más que un simple salto de línea, y el líder de la pila lo presentará en detalle a continuación.

1. Terminadores de línea

Como se mencionó anteriormente, agregar saltos de línea automáticamente durante la compilación se puede usar para mejorar la legibilidad de las cadenas de código escritas en lenguajes distintos de Java. Por ejemplo, a menudo necesitamos unir códigos de lenguaje HTML, XML, SQL, etc., y el código es muy feo.

“”"

Java

línea 2

línea 3

“”"

es equivalente a:

“línea 1\nlínea 2\nlínea 3\n”

o:

“línea 1\n” +

“línea 2\n” +

“línea 3\n”

Si no es necesario ajustar la última línea, puede escribirla así:

“”"

línea 1

línea 2

línea 3"""

También es posible definir un bloque de texto vacío:

Cadena vacía = “”"

“”";

Una cadena vacía también requiere dos líneas de código, por lo que no se recomienda este método.

2. Espacios en blanco incidentales

Continúe mirando el código de arriba:

Tenga en cuenta que no hay línea, hay una fila de espacios delante de la línea, lo que significa que no se compilará. Solo se usa para sangría y formato para facilitar la lectura, por eso lo llamo diseño de espacio.

Si """ ocupa una sola fila al final, está alineado a la izquierda; de lo contrario, está alineado a la izquierda por la columna más a la izquierda.

IDEA es realmente poderosa y es muy compatible con JDK 15. Si dice que no tiene un código de activación, no hay problema, puede seguir la pila de tecnología Java de la cuenta pública y responder: idea, el administrador de pila le enseñará a obtener la versión original de forma gratuita.

Además, se agregó el método de instancia String.stripIndent en Java 15, que puede eliminar directamente los caracteres en blanco iniciales y finales de cada línea.

3. Secuencias de escape (personajes de escape)

Como se muestra en el siguiente código:

Agregué caracteres de escape como \s, \n y \t al código, que se pueden usar directamente y no es necesario escapar de las comillas dobles.

La salida resultante:

Hola, "Pila de tecnología Java"

Bienvenido a prestar atención, \ compartir "más" productos secos

¡Se guardará la ortografía de las declaraciones SQL que puedan aparecer en el trabajo real!

Sin bloques de texto:

Consulta de cadena = “SELECCIONAR “EMP_ID”, “APELLIDO” DE “EMPLEADO_TB”\n” +

           "WHERE \"CITY\" = 'INDIANAPOLIS'\n" +

           "ORDER BY \"EMP_ID\", \"LAST_NAME\";\n";

Usando bloques de texto:

Consulta de cadena = “”"

           SELECT "EMP_ID", "LAST_NAME" FROM "EMPLOYEE_TB"

           WHERE "CITY" = 'INDIANAPOLIS'

           ORDER BY "EMP_ID", "LAST_NAME";

           """;

Por supuesto, se debe tener cuidado de no causar vulnerabilidades de inyección SQL al empalmar SQL. Esta es solo una introducción al uso.

Además, Java 15 agregó un método de escape String.translateEscapes, que puede escapar directamente del contenido de la cadena.

4. Parámetros de formato

Los parámetros en la cadena de formato anterior a Java 15 deben usar el método estático String.format, lo cual no es muy conveniente, pero en Java 15, se agrega un nuevo método para formatear directamente la cadena:

Para expandir la declaración SQL anterior, los parámetros están formateados con marcadores de posición:

Consulta de cadena = “”"

           SELECT "EMP_ID", "LAST_NAME" FROM "EMPLOYEE_TB"

           WHERE "CITY" = '%s' AND author = '%s'

           ORDER BY "EMP_ID", "LAST_NAME";

           """;

    System.out.println(query.formatted("深圳", "栈长"));

La salida resultante:

SELECCIONE “EMP_ID”, “APELLIDO” DE “EMPLEADO_TB”

DONDE "CIUDAD" = 'Shenzhen' Y autor = 'Jefe de pila'

ORDENAR POR "EMP_ID", "APELLIDO_NOMBRE";

¡Se siente más conveniente usar directamente el método de instancia formateado del objeto de cadena!

Cuarto.Conclusión

Interpretar bloques de texto (bloques de texto) es mucho más difícil de lo que imaginaba. No esperaba que hubiera tantos detalles en un bloque de texto. El artículo solo hace un resumen parcial del bloque de texto, no todo el contenido del bloque de texto. De todos modos, no es necesario por el momento, es fácil de entender para todos.

Fuente del artículo: los derechos de autor de la red pertenecen al autor original.

El contenido anterior no tiene fines comerciales, si involucra problemas de propiedad intelectual, comuníquese con el editor, lo solucionaremos de inmediato.

Supongo que te gusta

Origin blog.csdn.net/xuezhangmen/article/details/132076322
Recomendado
Clasificación