1
2
您可以创建一个帮助器方法来更新字符串,例如
用法
|
2
10
使用System.Text.StringBuilder。 如果不能使用StringBuilder,请尝试在此处阅读 http://www.codeproject.com/KB/dotnet/strings.aspx 参见“直接修改字符串”。 |
3
3
你的选择基本上是:
|
4
3
不,
|
5
3
不,字符串是不可变的(一旦创建,就不能更改它们)。但是,如果你 真正地 (我无法想象这种情况对我来说是可以接受的)需要这个,您可以创建自己的类(让我们将其命名为mutableString),它将向字符串公开类似的公共API,但会在内部处理这些重新分配,并隐式地从/到字符串强制转换。 编辑: 记住重写getHashCode()和equals(),否则集合将不起作用。但是-建议哈希代码保持不变-所以基本上,您所能做的就是为每个可变字符串返回0。如果您将它用作依赖哈希代码(如字典)的集合中的键,这将是一个性能问题—请注意这一点。 |
6
2
不是直接的。您需要创建自己的类,该类依次包含一个字符串,并具有自己的方法来处理replace和suchlike。
不可避免的问题是——为什么?你在什么情况下担心
|
7
2
不,你不需要。 最好退后一步,向我们展示您试图用可变字符串解决的问题。 从评论中编辑:
你看到了一个没有问题的地方。只使用
使用StringBuilder是可能的,但不会有太多帮助,它只处理实际替换的性能。 如果您想加快速度,就必须显示集合类的API。可以只替换键/值对中的键。 |
Emanuel Pinho · 无不变目标push的角度变化检测策略 6 年前 |
MingtyeP · 如何使用不可变js取消移动列表中的每个元素? 6 年前 |
Brannon · 让赋值运算符在申报时工作 7 年前 |
Javallion · JAVA中的不可变对象初始化 7 年前 |
Ankush Pandit · 字符串与字符串数组元素之间的比较 7 年前 |
plamkata__ · Swift到Kotlin,管理不可变列表 7 年前 |