没有合适的资源?快使用搜索试试~ 我知道了~
AndyJennifer#Android_Interview#为什么 String 被设计为不可变的1
需积分: 0 0 下载量 40 浏览量
2022-07-25
14:21:13
上传
评论
收藏 3KB MD 举报
温馨提示
这样的话,以后每次想要用到 HashCode 的时候,不需要重新计算,直接返回缓存过的 hash 的值就可以了,因为它不会变,这样可以提高效率,所以这就使得字符
资源推荐
资源详情
资源评论
# 为什么 String 被设计为不可变的
## 字符串常量池
String 不可变的第一个好处是可以使用字符串常量池。在 Java 中有字符串常量池的概念,比如两个字符串变量的内容一样,那么就会指向同一个对象,而不需创建第二个同样内容的新对象,例如:
```java
String s1 = "lagou";
String s2 = "lagou";
```
其实 s1 和 s2 背后指向的都是常量池中的同一个“lagou”。正是因为这样的机制,再加上 String 在程序中的应用是如此广泛,我们就可以节省大量的内存空间。
## 用作 HashMap 的 key
String 不可变的第二个好处就是它可以很方便地用作 HashMap (或者 HashSet) 的 key。通常建议把不可变对象作为 HashMap的 key,比如 String 就很合适作为 HashMap 的 key。
对于 key 来说,最重要的要求就是它是不�
点击阅读更多
资源评论
黄涵奕
- 粉丝: 879
- 资源: 327
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功