2012-07-16 157 views
0

Java似乎有非常好的字符串處理。儘管如此,我仍然遇到最簡單的問題。我需要動態字符串(它們在運行時更改),因此字符串類型不是一個好選擇,因爲它們是不可變的。所以我使用char數組。設置一種痛苦,但至少它們是可以修改的。我想創建一個帶有回車/換行對(或其他控制字符)的字符串常量。在C/C++中,你可以這樣做:Java - 如何將特殊字符轉換爲字符串

char myString[100]; 
myString = "This is a string with a CR/LF pair\x0D\x0A"; 

是的,我知道在Java中可以使用「\ r」。是的,我知道,你可以使用:

myString[34] = 0x000D; 
myString[35] = 0x000A; 

,並在Java中,你真的無法使用字符串字面常量初始化一個字符數組(可以嗎??)。那麼如何初始化char數組就成了問題呢?

+2

它*真的*不清楚爲什麼你不想只使用'\ r \ n'。目前還不清楚問題的第一部分與第二部分有什麼關係...... – 2012-07-16 22:39:33

+0

http://stackoverflow.com/questions/3613759/x-escape-in​​-java – 2012-07-16 22:39:34

+0

看看Java的StringBuilder類是一個類,它是很便宜修改爲一個字符串。 – CosmicComputer 2012-07-16 22:39:54

回答

2

你可以做

char[] myString = 
    "This is a string with a CR/LF pair\u000D\u000A".toCharArray(); 

如果是這樣的問題。

此外,有StringBuilder工作可變字符串(它只是包裝一個字符[])。

+0

字符串是不可變的,所以我不能使用String類。 – Batdude 2012-07-16 22:41:45

+0

@Batdude:你可以在String和char []之間進行轉換。 – Thilo 2012-07-16 22:43:59

相關問題