我可以在字符串中的变量指定位置添加char吗?

时间:2012-11-27 17:28:52

标签: java string char

好的,这就是我正在处理的问题:

newstring.charAt(w) += p;

尝试将字符/ char(p)添加到字符串'newstring'中,该字符串位于由'w'定义的字符串中的特定位置。这可能吗?

2 个答案:

答案 0 :(得分:4)

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

如果您对字符串进行了多次修改,则可以(实际上应该)重复使用StringBuilder

答案 1 :(得分:2)

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

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

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

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