【问题标题】:Java - How to put special characters into a StringJava - 如何将特殊字符放入字符串中
【发布时间】:2012-07-15 20:23:39
【问题描述】:

Java 似乎有很好的字符串处理。尽管如此,我还是遇到了最简单的问题。我需要动态字符串(它们在运行时更改),因此 String 类型不是一个好的选择,因为它们是不可变的。所以我正在使用 char 数组。设置有点痛苦,但至少它们是可修改的。我想创建一个字符串常量,其中包含回车/换行对(或其他控制字符)。在 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 数组(你可以吗??)。那么如何初始化一个char数组是个问题呢?

【问题讨论】:

  • 真的不清楚你为什么不想只使用\r\n。目前还不清楚问题的第一部分与第二部分有什么关系......
  • 查看 Java 的 StringBuilder 类,寻找一个作为 String 修改成本低的类。
  • 对不起,我编辑了这个问题。有没有办法用文字字符串常量初始化 char 数组?我会研究一下 StringBuilder,这听起来很有希望。

标签: java


【解决方案1】:

你可以的

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

如果这是问题。

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

【讨论】:

  • 字符串是不可变的,所以我不能使用 String 类。
  • @Batdude:可以在 String 和 char[] 之间进行转换。
【解决方案2】:

使用String.ToCharArray:

char[] chars = "This is a string\r\n".ToCharArray();

您也可以使用可变的StringBuilder

【讨论】:

    猜你喜欢
    • 2016-09-12
    • 2019-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-14
    • 1970-01-01
    • 2022-07-21
    相关资源
    最近更新 更多