Pergunta rápida. Existe um equivalente de @ aplicado a strings em Java:
Por exemplo, posso fazer @"c:\afolder\afile"
em C # e fazer com que ele ignore os caracteres de escape durante o processamento, em vez de ter que fazer "c:\\afolder\\aFile"
. Existe um equivalente em Java?
hmmm: stackoverflow está escapando para mim .. lol. O segundo exemplo deve ser:
c: (barra invertida dupla) uma pasta (barra invertida dupla) aArquivo
@
pode ser usado para usar palavras-chave do idioma também como identificadores.Respostas:
Não . Escapar / externalizar a string é sua única escolha.
fonte
Não, Java não tem literais de string textuais .
Se você deseja uma linguagem semelhante a Java (e baseada em Java-VM) que o faça , no entanto, você pode querer dar uma olhada no Groovy, que tem várias formas de literal de string .
fonte
groovy.codehaus.org
quebradosComo Kent e Jon disseram, não, não há.
Estou respondendo apenas para apontar que mesmo que houvesse, para o seu caso em particular, seria uma má ideia no caso geral, supondo um programa mais do que pontual.
Os programas Java são executados em mais plataformas do que apenas Windows, e outras plataformas têm diferentes delimitadores de arquivo. Portanto, em vez de lidar com barras invertidas com escape, a maneira correta de lidar com seu exemplo específico é obtendo a propriedade do separador de arquivo:
Onde você teria criado ROOTDIR separadamente com base em alguma política - não apenas a plataforma, mas se você deseja que seu "arquivo" seja relativo à raiz do sistema de arquivos real ou ao diretório inicial do usuário.
Mas definitivamente, usar a propriedade de separador de arquivo torna seus programas mais amplamente utilizáveis. É mais trabalho? Sim. Como diz Wanda Sykes, "mas vale a pena".
fonte
Atualmente não é compatível com Java, mas pode estar disponível em versões futuras. Foi criado o JEP 326: Raw String Literals em 2018/01/23
Veja o progresso em https://bugs.openjdk.java.net/browse/JDK-8196004
Provavelmente algum dia você será capaz de fazer isso com:
ATUALIZAÇÃO: JEP proposto para descartar do JDK 12: 326: Literais de string brutos (visualização) Você pode ler a justificativa aqui: http://mail.openjdk.java.net/pipermail/jdk-dev/2018-December/002402.html
E mais detalhes aqui https://bugs.openjdk.java.net/browse/JDK-8215682
Resumindo : não haverá strings textuais em Java em um futuro próximo. E mesmo que apareça, não será ``.
fonte