扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
String类是java广泛应用的一个类,这个类是每个学习java的人每天都能看到的类,因为main函数里就有:
在内丘等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站建设、网站建设 网站设计制作按需求定制网站,公司网站建设,企业网站建设,成都品牌网站建设,成都全网营销,外贸网站制作,内丘网站建设费用合理。public static void main(String[] args) {}
但是很多人每天见却基本没怎么深入研究过它,除了知道这是一个字符串以外啥也不知道。下面我就来简单介绍一下String类。
在我们用Ctrl+单击String后进入的java底层代码中可以看到,String类其实是以字符数组的形式存储的,而众所周知,数组的特性之一就是定长,但我们有时候却会写两个字符串相加的代码,就导致新手一直以为字符串是可变的,但从上面可以看到,String类不仅是数组形式,而且还加了final关键字,所以字符串其实是不可以修改的。而为什么我们可以用两个字符串相加呢?其实我们只是新创建了一个对象,这个对象内存储了我们相加后的字符串而已,本来的字符串对象其实一直没有改变过。所以我们平常写代码的时候如果要经常对一个字符串进行修改的话会导致java不停的生成新的对象,从而导致空间占用率高,那怎么解决这个问题呢?
对于这个问题,java给了我们两个类去操作: StringBuffer 类和 StringBuilder 类。和 String 类不同的是,StringBuffer 类和 StringBuilder 类的对象能够被多次的修改,并且不产生新的未使用对象。而这两个类的大区别就是StringBuffer相对来说是线程安全的,而StringBuilder不是线程安全的,但是我们一般练习代码的时候优先选择StringBuilder,为啥呢?众所周知,有个东西叫守恒定律,StringBuilder既然牺牲了安全性,那么相对的StringBuilder的速度就比较快。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流