java中String为什么设计成不可变对象
Posted 晴空半岛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中String为什么设计成不可变对象相关的知识,希望对你有一定的参考价值。
设计成不可变对象为了安全和高效
1.安全方面:举例说明:在文件操作或反射操作的时候需要传递字符串,如果是设计成可变的那么就会造成安全问题
2.高效:举例说明 字符串源码中会将hashcode缓冲下来,那么比如在HashMap中以字符串为key时第一次计算出hash值放缓冲中,以后直接就可以获取到这个值了,不需要重新计算了
以上是关于java中String为什么设计成不可变对象的主要内容,如果未能解决你的问题,请参考以下文章
Java为什么把String设计成不可变的(immutable)