Question rapide. Existe-t-il un équivalent de @ appliqué aux chaînes en Java:
Par exemple, je peux faire @"c:\afolder\afile"
en C # et lui faire ignorer les caractères d'échappement lors du traitement au lieu d'avoir à le faire "c:\\afolder\\aFile"
. Existe-t-il un équivalent Java?
hmmm: stackoverflow s'échappe sur moi .. lol. Le deuxième exemple devrait lire:
c: (double barre oblique inverse) dossier (double barre oblique inverse) aFichier
@
peut également être utilisé pour utiliser des mots-clés de langue comme identificateurs.Réponses:
Non . Echapper / externaliser la chaîne est votre seul choix.
la source
Non, Java n'a pas de littéraux de chaîne verbatim .
Si vous voulez un langage de type Java (et basé sur Java-VM) qui le fait , vous voudrez peut-être regarder Groovy qui a différentes formes de littéral de chaîne .
la source
groovy.codehaus.org
liens sont rompusComme Kent et Jon l'ont dit, non, il n'y en a pas.
Je réponds simplement pour souligner que même s'il y en avait, pour votre cas particulier, ce serait une mauvaise idée dans le cas général, en supposant un programme plus que ponctuel.
Les programmes Java s'exécutent sur plus de plates-formes que Windows, et d'autres plates-formes ont des délimiteurs de fichiers différents. Ainsi, au lieu de traiter les contre-obliques d'échappement, la bonne façon de gérer votre exemple particulier est d'obtenir la propriété de séparateur de fichier:
Où vous auriez créé ROOTDIR séparément sur la base d'une politique - non seulement la plate-forme, mais si vous voulez que votre «fichier» soit relatif à la racine du système de fichiers réel, ou relatif au répertoire personnel de l'utilisateur.
Mais certainement, l'utilisation de la propriété de séparateur de fichiers rend vos programmes plus largement utilisables. Est-ce plus de travail? Oui. Comme le dit Wanda Sykes, "Mais ça vaut le coup".
la source
Actuellement, il n'est pas pris en charge en Java mais pourrait être disponible dans les versions futures. Il a été créé JEP 326: Raw String Literals au 23/01/2018
Voir les progrès sur https://bugs.openjdk.java.net/browse/JDK-8196004
Vous pourrez probablement un jour le faire avec:
MISE À JOUR: JEP a proposé de supprimer du JDK 12: 326: Littéraux de chaîne bruts (aperçu) Vous pouvez lire la justification ici: http://mail.openjdk.java.net/pipermail/jdk-dev/2018-December/002402.html
Et plus de détails ici https://bugs.openjdk.java.net/browse/JDK-8215682
L'essentiel : il n'y aura pas de chaînes textuelles en Java dans un proche avenir. Et même si ça va apparaître ça ne le sera pas plutôt ''.
la source