在java中,string是一个非常重要的类,而且是一种特殊的包装类数据
strig为什么设计成不可变
java编程中,string是一个非常重要的类,几乎所有的项目中都会用到,性能很重要
1.节省空间:
为了提高效率和空间使用率,把字符串常量放在string pool 它们可以被共享,为了保证每一个用户
对字符串的修改不会影响其他用户的使用,string设计成不可变量
2.提高效率:
正是因为string是共享的,在多线程编程的时候,string可以被不同的线程共享,如果说string设计成不可变的,他的线程就是安全的。另外在经常使用hash map的时候,会把string作为key进行存储,需要计算string的hash值
3. 安全性
String被许多的Java类(库)用来当做参数,例如 网络连接地址URL,文件路径path,还有反射机制所需要的String参数等, 假若String不是固定不变的,将会引起各种安全隐患。