Java equivalente de las cadenas literales de C # con @

Pregunta rápida. ¿Hay un equivalente de @ como se aplica a las cadenas en Java:

Por ejemplo, puedo hacer @"c:\afolder\afile" en C # y hacer que ignore los caracteres de escape al procesar en lugar de tener que hacer "c:\\afolder\\aFile" . ¿Hay un equivalente de Java?

hmmm: stackoverflow me está escapando … jaja. El segundo ejemplo debería decir:

c: (doble-barra invertida) afloradora (doble-barra invertida) aFile

No Escapar / externalizar la cadena es su única opción.

No, Java no tiene literal literales literales .

Sin embargo, si desea un lenguaje similar a Java (y basado en Java-VM), es posible que desee ver Groovy, que tiene varias formas de cadena literal .

Como Kent y Jon han dicho, no, no hay.

Estoy respondiendo solo para señalar que incluso si hubiera, para su caso particular, sería una mala idea en el caso general, asumiendo un progtwig más que excepcional.

Los progtwigs Java se ejecutan en más plataformas que solo Windows, y otras plataformas tienen diferentes delimitadores de archivos. Por lo tanto, en lugar de ocuparse de las barras diagonales escapadas, la forma correcta de manejar su ejemplo particular es obtener la propiedad del separador de archivos:

 String sep = System.getProperty("file.separator"); String filename = ROOTDIR + sep + "folder" + sep + "afile"; 

Donde habría creado ROOTDIR por separado en función de alguna política, no solo de la plataforma, sino de si desea que su “afile” sea relativo a la raíz del sistema de archivos real o relativa al directorio de inicio del usuario.

Pero definitivamente, el uso de la propiedad separador de archivos hace que sus progtwigs sean más ampliamente utilizables. ¿Es más trabajo? Sí. Como dice Wanda Sykes, “pero vale la pena”.

Actualmente no es compatible con Java, pero podría estar disponible en futuras versiones. Se creó JEP 326: Literales de cadenas crudas en 2018/01/23

Vea el progreso en https://bugs.openjdk.java.net/browse/JDK-8196004

Probablemente algún día puedas hacerlo con:

 `c:\afolder\afile`