2014-10-17 16 views
7

karakterleri olmadan kullanmadan alıntılar Önceden \ sembolünü koyarak Java dizelerinde çift tırnak yazmanın mümkün olduğunu biliyorum. Ancak çift tırnaklar bir dizide çok kullanılıyorsa, dizeyi bir kez işaretlemenin bir yolu var, bu nedenle her birinden önce \ sembolünü yazmanız gerekmeyecek mi?Java String, karakterleri

String quotes = @""""""""""""""""""""; 

yerine

String quotes = "\"\"\"\"\"\"\"\"\"\"\""; 
+0

Benzer bir soru: http://stackoverflow.com/questions/10806973/working-with-long-strings-heredocs-in-java-the-readable-approach – Felk

+1

Not (Ocak 2018), ham dize değişmezleri olabilir Java için (JDK 10 ya da daha fazla) geliyor: [Java'da, alıntılardan kaçmak zorunda kalmadan bir dizgi yazmak için bir yol var mı?] (https://stackoverflow.com/a/48481601/6309). – VonC

+0

@VonC Lets umuyoruz. Yavaş ama emin adımlarla java ilerliyor :) – Victor2748

cevap

7

Yapamazsınız. Ama çift tırnakların her birinden kaçmak için çok tembelseniz, bunu yapabilecek bazı hile vardır. Örneğin:

String quotes = "....................".replace(".","\""); 
System.out.println(quotes); 

çıkışı: kaçış kodunda sonraki tüm çift tırnak (Bildiğim kadarıyla) için bir yolu yoktur """"""""""""""""""""

+1

Sadece dizenin noktalama işareti içermediğinden emin olun –

5

Hayır, bir Stringdeğişmez yazmak için böyle bir yolu yoktur: Örnek (sadece C# gibi, dize önce @ sembolü koymak mümkündür) unescaped alıntılarla.

Metni harici olarak yazıp çalışma zamanında yükleyebilirsiniz.

1

. Ancak, String sabit kodlamaya karşı tavsiye etmektesiniz. Bunun yerine, bir ResourceBundle (veya Properties) kullanmanızı öneririm. Bir yararı, okunduğunuz String (s) 'den kaçmak zorunda değilsiniz.