2014-10-17 12 views
7

Ich weiß, dass es möglich ist, doppelte Anführungszeichen in Java-Strings zu schreiben, indem Sie \ Symbol vor ihnen setzen. Aber wenn doppelte Anführungszeichen häufig in einer Zeichenkette verwendet werden, gibt es eine Möglichkeit, die Zeichenkette einmal zu markieren, so dass es nicht nötig ist, das Symbol \ vor jedem zu schreiben? (Wie in C#, ist es möglich, das @ Symbol vor der Zeichenfolge zu setzen) Beispiel:Java String verwenden Anführungszeichen ohne Escape-Zeichen

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

statt

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

ähnliche Frage: http://stackoverflow.com/questions/10806973/working-with-long-strings-heredocs-in-java-the-readable-approach – Felk

+1

Hinweis (Jan. 2018), könnte rohe Zeichenfolge Literale sein Kommen für Java (JDK 10 oder mehr): siehe [In Java, gibt es eine Möglichkeit, ein String-Literal zu schreiben, ohne Anführungszeichen zu umgehen?] (https://stackoverflow.com/a/48481601/6309). – VonC

+0

@VonC Hoffen wir. Langsam, aber sicher macht Java Fortschritte :) – Victor2748

Antwort

7

Sie können nicht. Aber wenn Sie zu faul sind, um jedes der doppelten Anführungszeichen zu umgehen, gibt es einen Trick, der das tun kann. Zum Beispiel:

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

Ausgang: """"""""""""""""""""

+1

nur sicher sein, dass die Zeichenfolge keine Satzzeichen enthält –

5

Nein, es gibt keine solche Möglichkeit, ein Stringwörtlichen zu schreiben mit unescaped Zitaten.

Sie können den Text extern schreiben und zur Laufzeit laden.

1

Es gibt keine Möglichkeit zu Flucht alle nachfolgenden doppelte Anführungszeichen in Code (die ich kenne). Aber ich empfehle gegen harte Codierung String Literale. Stattdessen schlage ich vor, dass Sie eine ResourceBundle (oder sogar Properties) verwenden. Ein Vorteil ist, dass Sie nicht String (s) entkommen müssen, die Sie auf diese Weise lesen.

Verwandte Themen