【发布时间】:2012-08-07 21:57:09
【问题描述】:
有些语言(C# 或 Java)有不可变的字符串,而另一些(例如 Ruby)有可变的字符串。这些设计选择背后的原因是什么?
【问题讨论】:
-
@Science_Fiction 该问题的最佳答案通常是关于不变性。但为什么是字符串?我认为这与标记和清除垃圾收集器有关。
-
另见when-does-python-allocate-new-memory-for-identical-strings SO:恕我直言,没有明确的答案。
标签: string language-agnostic language-design