Pregunta rápida. ¿Existe un equivalente de @ aplicado a cadenas en Java?
Por ejemplo, puedo hacerlo @"c:\afolder\afile"
en C # y hacer que ignore los caracteres de escape al procesar en lugar de tener que hacerlo "c:\\afolder\\aFile"
. ¿Existe un equivalente de Java?
hmmm: stackoverflow se me escapa .. lol. El segundo ejemplo debería decir:
c: (doble barra invertida) una carpeta (doble barra invertida) aFile
@
se puede usar para usar palabras clave del idioma como identificadores.Respuestas:
No se . Escapar / exteriorizar la cadena es su única opción.
fuente
No, Java no tiene literales de cadena textuales .
Sin embargo, si desea un lenguaje similar a Java (y basado en Java-VM) que lo haga , es posible que desee ver Groovy, que tiene varias formas de literal de cadena .
fuente
groovy.codehaus.org
enlaces rotosComo han dicho Kent y Jon, no, no lo hay.
Solo respondo para señalar que incluso si lo hubiera, para su caso particular, sería una mala idea en el caso general, asumiendo un programa más de una vez.
Los programas Java se ejecutan en más plataformas además de Windows, y otras plataformas tienen diferentes delimitadores de archivos. Entonces, en lugar de lidiar con barras invertidas de escape, la forma correcta de manejar su ejemplo particular es obteniendo la propiedad del separador de archivos:
Donde habría creado ROOTDIR por separado basado en alguna política, no solo la plataforma, sino si desea que su "archivo" sea relativo a la raíz del sistema de archivos real, o relativo al directorio de inicio del usuario.
Pero definitivamente, usar la propiedad de separador de archivos hace que sus programas sean más utilizables. ¿Es más trabajo? Si. Como dice Wanda Sykes, "pero vale la pena".
fuente
Actualmente no es compatible con Java, pero podría estar disponible en versiones futuras. Se creó JEP 326: Literales de cadena sin procesar en 2018/01/23
Ver el progreso en https://bugs.openjdk.java.net/browse/JDK-8196004
Probablemente algún día podrás hacerlo con:
ACTUALIZACIÓN: JEP propuso eliminar de JDK 12: 326: Literales de cadena sin formato (vista previa) Puede leer la justificación aquí: http://mail.openjdk.java.net/pipermail/jdk-dev/2018-December/002402.html
Y más detalles aquí https://bugs.openjdk.java.net/browse/JDK-8215682
La conclusión : no habrá cadenas textuales en Java en un futuro próximo. Y aunque parezca, más bien no será ''.
fuente