String为什么是不可变的
我们通过查看String源码可以发现 String内部char数组是通过 private final
修饰的,表示不可访问 而且String类也通过final修饰表示不可继承
这样做的目的是
保证了
String类的线程安全
,如果String可以改变,我们通过写一个类继承String 可以篡改数据保证了hash属性值不会频繁变更,保证了唯一性,这也是HashMap采用String作为key的原因
实现了字符串常量池,在java中创建字符串对象有两种方式
- 通过字符串常量创建,这种会在字符串中通过equls方法去判断当前字符串是否存在 存在直接返回,不存在在常量池创建对象
通过new创建 这样会保证堆和字符串常量中都有该对象,没有就创建该对象,最后返回堆中的对象引用地址值
先判断字符串常量池中有没有创建该对象,如果存在就回去堆内存中判断是否存在该对象,如果不存在创建对象,然后返回
- 网站名称:`网联基地`
- 网站链接:https://www.wubase.com/
- 网站描述:`云服务器评测,分享国内外VPS、网站服务器等资讯`
- 网站图标:`https://s21.ax1x.com/2024/05/16/pknrxxI.png`
阿猪的博客
https://yfzhu.cn/
流量卡知识网
http://53go.cn/
专注于移动 / 联通 / 电信运营商官方推出的大流量多语音活动长短期套餐手机卡的相关知识的介绍普及听说互换友情链接可以增加网站的收录量,特此来换,如果同意的话就给 internetyewu@163.com[微信 ganenboy] 发信息或者就在此回复下吧!【建站问题也可以一起讨论!】