好的,这是我正在处理的行:
newstring.charAt(w) += p;
试图在由 int 'w' 定义的字符串中的特定位置向字符串 'newstring' 添加一个字符/字符(p)。这可能吗?
字符串在 Java 中是不可变的,所以答案是否定的。但是有很多方法可以解决它。最简单的方法是创建一个StringBuilder
并使用该setCharAt()
方法。或者insert()
,如果您想在给定位置插入新字符。
如果您对字符串进行多次修改,您可以(并且确实应该)重用您的StringBuilder
.
好吧,你不能修改你的字符串,因为Strings
在 Java 中是不可变的。如果您尝试更改字符串,您将得到一个新的字符串对象。
现在,您可以为此使用String#substring
方法,使用它可以获取由原始字符串new string
的某些子字符串生成的方法:-concatenation
str = str.substring(0, w) + "p" + str.substring(w);
但是,当然,StringBuilder
按照@biziclop 的答案中指定的方式使用是您可以遵循的最佳方法。