2

好的,这是我正在处理的行:

newstring.charAt(w) += p;

试图在由 int 'w' 定义的字符串中的特定位置向字符串 'newstring' 添加一个字符/字符(p)。这可能吗?

4

2 回答 2

4

字符串在 Java 中是不可变的,所以答案是否定的。但是有很多方法可以解决它。最简单的方法是创建一个StringBuilder并使用该setCharAt()方法。或者insert(),如果您想在给定位置插入新字符。

如果您对字符串进行多次修改,您可以(并且确实应该)重用您的StringBuilder.

于 2012-11-27T17:31:13.903 回答
2

好吧,你不能修改你的字符串,因为Strings在 Java 中是不可变的。如果您尝试更改字符串,您将得到一个新的字符串对象。

现在,您可以为此使用String#substring方法,使用它可以获取由原始字符串new string的某些子字符串生成的方法:-concatenation

str = str.substring(0, w) + "p" + str.substring(w);

但是,当然,StringBuilder按照@biziclop 的答案中指定的方式使用是您可以遵循的最佳方法。

于 2012-11-27T17:30:07.727 回答