Java-如何将特殊字符放入字符串中

Java-如何将特殊字符放入字符串中,java,Java,Java似乎有很好的字符串处理能力。尽管如此,我还是遇到了一些最简单的问题。我需要动态字符串(它们在运行时改变),所以字符串类型不是一个好的选择,因为它们是不可变的。所以我使用字符数组。设置起来有点痛苦,但至少它们是可以修改的。我想创建一个字符串常量,其中包含回车符/换行符对(或其他控制字符)。在C/C++中,您只需执行以下操作: char myString[100]; myString = "This is a string with a CR/LF pair\x0D\x0A"; 是的,我知

Java似乎有很好的字符串处理能力。尽管如此,我还是遇到了一些最简单的问题。我需要动态字符串(它们在运行时改变),所以字符串类型不是一个好的选择,因为它们是不可变的。所以我使用字符数组。设置起来有点痛苦,但至少它们是可以修改的。我想创建一个字符串常量,其中包含回车符/换行符对(或其他控制字符)。在C/C++中,您只需执行以下操作:

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[] myString = 
   "This is a string with a CR/LF pair\u000D\u000A".toCharArray();
如果这是个问题的话

另外,StringBuilder可以处理可变字符串(它只包装一个char[])。

您可以这样做

char[] myString = 
   "This is a string with a CR/LF pair\u000D\u000A".toCharArray();
如果这是个问题的话

此外,StringBuilder还可以处理可变字符串(它只包装了一个char[])。

使用:

您还可以使用可变的。使用:


您还可以使用可变的。

不清楚为什么您不想只使用
\r\n
。还不清楚问题的第一部分与第二部分有什么关系……请查看Java的StringBuilder类,它可以廉价地修改为字符串。有没有办法用文字字符串常量初始化字符数组?我将研究StringBuilder,这听起来很有希望。不清楚您为什么不想只使用
\r\n
。还不清楚问题的第一部分与第二部分有什么关系……请查看Java的StringBuilder类,它可以廉价地修改为字符串。有没有办法用文字字符串常量初始化字符数组?我将研究StringBuilder,这听起来很有希望。字符串是不可变的,所以我不能使用字符串类。@巴特杜德:您可以在字符串和字符[]之间转换。字符串是不可变的,所以我不能使用字符串类。@巴特杜德:您可以在字符串和字符[]之间转换。