返回值不是这个实例的独立副本;它只是相同数据的另一种视图。使用 Copy 或 CopyTo 方法创建一个与此实例具有相同值的单独 String 对象。
因为 Clone 方法只是返回现有的字符串实例, 所以没有理由直接调用它。
据我了解,String 是一种引用类型,这意味着您在调用字符串时只会获得对字符串对象的引用。
因此为什么 String.Clone() 存在?它的目的是什么?
返回值不是这个实例的独立副本;它只是相同数据的另一种视图。使用 Copy 或 CopyTo 方法创建一个与此实例具有相同值的单独 String 对象。
因为 Clone 方法只是返回现有的字符串实例, 所以没有理由直接调用它。
据我了解,String 是一种引用类型,这意味着您在调用字符串时只会获得对字符串对象的引用。
因此为什么 String.Clone() 存在?它的目的是什么?
这很有用,因为字符串实现了 ICloneable,因此您可以为 ICloneable 项的集合创建克隆副本。当集合仅包含字符串时,这很无聊,但当集合包含多个实现 ICloneable 的类型时,它很有用。至于复制单个字符串,它没有用,因为它通过设计返回对自身的引用。
Clone() 方法返回对正在克隆的字符串的引用。它不是Heap上字符串的独立副本。这是对同一字符串的另一个引用。
并阅读这篇文章:用例子解释克隆
也许只是为了实现ICloneable
接口。请参阅ICloneable.Clone 方法。
此外,ICloneable
界面似乎已经过时: