java中String为什么设计成不可变对象

设计成不可变对象为了安全和高效

1.安全方面:举例说明:在文件操作或反射操作的时候需要传递字符串,如果是设计成可变的那么就会造成安全问题

2.高效:举例说明 字符串源码中会将hashcode缓冲下来,那么比如在HashMap中以字符串为key时第一次计算出hash值放缓冲中,以后直接就可以获取到这个值了,不需要重新计算了

猜你喜欢

转载自www.cnblogs.com/wgDream/p/12038838.html