2

OK、これは私が取り組んでいる行です:

newstring.charAt(w) += p;

int 'w' で定義された文字列内の特定の位置で文字列 'newstring' に文字/文字 (p) を追加しようとしています。これは可能ですか?

4

2 に答える 2

4

文字列は Java では不変であるため、答えはノーです。しかし、それを回避する方法はたくさんあります。最も簡単な方法は、 を作成して メソッドStringBuilderを使用するsetCharAt()ことです。またはinsert()、特定の位置に新しい文字を挿入したい場合。

文字列に複数の変更を加えた場合、StringBuilder.

于 2012-11-27T17:31:13.903 に答える
2

StringsJavaでは不変であるため、文字列を変更することはできません。文字列を変更しようとすると、結果として新しい文字列オブジェクトが得られます。

これで、元の文字列の一部の部分文字列によって生成されたものString#substringを取得できるメソッドを使用できます。new stringconcatenation

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

ただし、もちろん、StringBuilder@biziclop の回答で指定されているとおりに使用することが、従うことができる最良のアプローチです。

于 2012-11-27T17:30:07.727 に答える