为什么oc把NSArray设计成不可变的?

语言中类似这样的有很多 java中的string 我想问一下 为什么一开始设计成这样呢?

阅读 2.5k
1 个回答

字符串设计成不可变的主要是为了常量池优化和hashCode应用,如果字符串可变,hashCode就基本没有用武之地了

NSArray,copy的时候只需要retain就可以了,不会创建一个新的对象, 其实也是常量池的思想
另外,相对地,有可变的 NSMutableArray

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进