文章列表
Java的String为什么设计成不可变的呢,这个问题困扰了我很久,于是找了一些资料,我总结了下面三点:
1.设计者可能认为编程过程中需要用到大量的字符串,而很多字符串又都是重复的,所以将字符串设计为不可变的,用于共享,节省空间。
2.提高内存分配效率。因为形如String str="abc"; 字符串"abc"会被存储在字符串常量池中,当再声明String str2="abc"时,java虚拟机会先在字符串常量池中查找是否存在,如果存在则将str2的引用指向“abc”,这样其实多个引用指向同一个字符串,节省了存储空间,同时也减少了 ...