Pertanyaan cepat. Apakah ada padanan @ seperti yang diterapkan pada string di Java:
Misalnya saya dapat melakukannya @"c:\afolder\afile"
di C # dan membiarkannya mengabaikan karakter escape saat memproses alih-alih harus melakukannya "c:\\afolder\\aFile"
. Apakah ada padanan Java?
hmmm: stackoverflow keluar dari saya .. lol. Contoh kedua harus membaca:
c: (double-backslash) afolder (double-backslash) aFile
@
dapat digunakan untuk menggunakan kata kunci bahasa sebagai pengenal juga.Jawaban:
Tidak . Meloloskan / mengeluarkan string adalah satu-satunya pilihan Anda.
sumber
Tidak, Java tidak memiliki literal string verbatim .
Jika Anda ingin bahasa Jawa-seperti (dan Jawa-VM-based) yang tidak , bagaimanapun, Anda mungkin ingin melihat Groovy yang memiliki berbagai bentuk string literal .
sumber
groovy.codehaus.org
rusakSeperti yang dikatakan Kent dan Jon, tidak, tidak.
Saya menjawab hanya untuk menunjukkan bahwa meskipun ada, untuk kasus khusus Anda, itu akan menjadi ide yang buruk dalam kasus umum, dengan asumsi program lebih dari satu kali.
Program Java berjalan di lebih banyak platform daripada hanya Windows, dan platform lain memiliki pembatas file yang berbeda. Jadi, alih-alih berurusan dengan garis miring terbalik yang lolos, cara yang benar untuk menangani contoh khusus Anda adalah dengan mendapatkan properti pemisah file:
Di mana Anda telah membuat ROOTDIR secara terpisah berdasarkan beberapa kebijakan - tidak hanya platform, tetapi apakah Anda ingin "afile" Anda relatif terhadap root sistem file yang sebenarnya, atau relatif terhadap direktori home pengguna.
Tapi yang pasti, menggunakan properti pemisah file membuat program Anda lebih dapat digunakan secara luas. Apakah lebih banyak pekerjaan? Iya. Seperti yang dikatakan Wanda Sykes, "Tapi itu sepadan".
sumber
Saat ini tidak didukung di Java tetapi mungkin tersedia di rilis mendatang. Telah dibuat JEP 326: Literal String Mentah pada 2018/01/23
Lihat kemajuannya di https://bugs.openjdk.java.net/browse/JDK-8196004
Mungkin suatu hari Anda akan dapat melakukannya dengan:
UPDATE: JEP diusulkan untuk drop dari JDK 12: 326: Raw String Literals (Preview) Anda dapat membaca alasannya di sini: http://mail.openjdk.java.net/pipermail/jdk-dev/2018-December/002402.html
Dan detail lebih lanjut di sini https://bugs.openjdk.java.net/browse/JDK-8215682
Intinya : Tidak akan ada string kata demi kata di Jawa dalam waktu dekat. Dan kalaupun akan muncul itu malah tidak akan jadi ''.
sumber