2014-10-17 98 views
7

我知道可以在它們之前加上\符號來在Java字符串中編寫雙引號。但是如果在字符串中使用雙引號很多,是否有一種方法可以標記字符串一次,所以不需要在每個符號前面寫上\符號? (就像在C#中,可以將字符串之前把@符號) 例子:Java字符串使用不帶轉義字符的引號

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

,而不是

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

類似的問題:http://stackoverflow.com/questions/10806973/working-with-long-strings-heredocs-in-java-the-readable-approach – Felk 2014-10-17 01:24:26

+1

注意(2018年1月),原始字符串文字可能是(JDK 10或更高版本):請參閱[在Java中,是否有一種方法可以編寫字符串文字而不必使用引號?](https://stackoverflow.com/a/48481601/6309)。 – VonC 2018-01-27 23:25:18

+0

@VonC讓希望。慢慢地,但肯定java正在取得進展:) – Victor2748 2018-01-28 22:41:52

回答

7

你不能。但是如果你懶得逃避每一個雙引號,有一些技巧可以做到這一點。例如:

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

輸出:""""""""""""""""""""

+1

只要確保字符串不包含標點符號 – 2014-10-17 01:50:10

5

沒有,就是寫一個String字面沒有這樣的方式與未轉義的引號。

您可以在外部寫入文本並在運行時加載它。

1

沒有辦法轉義在代碼中所有的後續雙引號(據我所知)。但是,我建議不要使用硬編碼String文字。相反,我建議你使用ResourceBundle(或甚至Properties)。一種好處是你不必轉義String(s)你以這種方式閱讀。

相關問題