public class ReverseString {
public static void main(String[] args) {
String s = "mnop";
s.charAt(0) = 'l';
}
}
答えて
Javaの文字列は変更できません。
、このような何かを行うのStringBuilder使用するには:
StringBuilder sb = new StringBuilder("mnop");
sb.setCharAt(0, 'l');
//later, you probably want to get back to a String:
String s = sb.toString();
はい、文字列は不変ですが、OPが "MutableString'"クラスでもやろうとしていることはできません。 –
s.charAt(0)
はchar
値ではなく、あなたが値を割り当てることができますするchar
変数を返します。
とにかくString
は不変なので、既存のString
の値を変更することはできません。
あなたはString
のすべての文字の配列のコピーを入手し、その配列を変更することができます:それは不変なので
String s = "mnop";
char[] chars = s.toCharArray();
chars[0]= 'l';
しかし、これは、オリジナルのString
を変更しません。
あなたはしかし、その配列を使用して新しいString
を作成することができます。
String newS = new String(chars);
文字列のその位置にある文字のコピーですchar
を返しcharAt
。それは元の文字列への参照ではなく、不変です。
あなたが代わりにStringBuilder
を使用することができ、しかし:
StringBuilder sb = new StringBuilder("mnop");
sb.setCharAt(0, 'l');
String s = sb.toString();
Javaは唯一の変数、フィールドおよび配列要素に割り当てることができます。
s.charAt(0)
のようなメソッドの結果は、これらのどれもないので、割り当てられません。
理由はJavaが返す方法にあります。これは参照ではなく値によって返します。その値は一時的にしか存在しません。そのように、あなたがそれを割り当てることができたなら、その割り当ての副作用はすぐに失われ、無意味になります。
String
は変更できません。しかし、あなたが割り当てることができるこの制限は、あなたが作成しようとするかもしれない概念的なMutableString
クラスのためにさえこれを行うことができなかった理由です。
あなたが言っていることに同意しますが、OPが適切なタイプを使用していた場合、彼はsetCharAt()、insert()、および残りのものも見つけた可能性があります..私は彼が 'str.charAt (i)<==> str [i] '他の言語から..とにかく、あなたは+1を得る。 – xs0
- 1. C++の特定の位置にテキストを追加できない
- 2. Java:文字列の特定の位置にcharを追加する(パフォーマンス)
- 3. が特定の位置に配列リスト内の文字を追加し
- 4. ルビの特定の位置に特定の文字を出力して文字を追加するには?
- 5. Java:文字列内の特定の文字をインデックスに置き換えます。
- 6. 特定の位置の文字列にコロンを追加します。
- 7. PHP - 特定の文字位置の既存の文字列に文字列を追加します。
- 8. 崇高な文章:列の位置に文字を追加
- 9. データフレーム内の特定の位置に新しい変数を追加
- 10. 新しいテーブル列を特定の順序位置に追加
- 11. テキストファイル内の文字の位置を特定する方法(C++)
- 12. NSString内の文字セットに特定の文字を追加するには
- 13. *と*位置データフレーム内の特定の位置に新しい列
- 14. QTableViewオブジェクトに特定の位置に行を追加する
- 15. テキストの位置がビューポートに揃っている理由
- 16. サブビューを追加して特定の位置で表示する
- 17. 文字列を特定の位置に設定します
- 18. は、文字列内の特定のインデックスに文字を追加 - 3
- 19. リスト内の文字列をリスト内の文字列の位置に基づいて置き換える方法
- 20. MSSQL Serverの特定の位置に列を追加します。
- 21. スーパービューの特定の位置にUITableViewControllerを追加する
- 22. 画像上の特定の位置にボタンを追加する
- 23. 特定の位置の配列に変数を追加する
- 24. データフレームの特定の値を行列の特定の位置に追加する
- 25. Wordpressで文字を論理的に置き換える理由
- 26. ハイブ内の特定の文字の複数の単位を1つの単位に置き換えます。
- 27. 文字列の順列と特定の文字列の位置
- 28. 2Dリスト内の特定の位置に特定の番号を付加する
- 29. 特定の位置の文字列内の文字を別の文字に設定しようとしています
- 30. HorizontalScrollView - 特定の位置にアイテムを追加する
文字列はJavaでは不変なので、作成されると、変更されません。代わりに 'StringBuilder'を見てください。 –