语言中类似这样的有很多 java中的string 我想问一下 为什么一开始设计成这样呢?
字符串设计成不可变的主要是为了常量池优化和hashCode应用,如果字符串可变,hashCode就基本没有用武之地了
NSArray,copy的时候只需要retain就可以了,不会创建一个新的对象, 其实也是常量池的思想
另外,相对地,有可变的 NSMutableArray
语言中类似这样的有很多 java中的string 我想问一下 为什么一开始设计成这样呢?
字符串设计成不可变的主要是为了常量池优化和hashCode应用,如果字符串可变,hashCode就基本没有用武之地了
NSArray,copy的时候只需要retain就可以了,不会创建一个新的对象, 其实也是常量池的思想
另外,相对地,有可变的 NSMutableArray