下面我们就字符串连接方面分析。

1.String
打开String的源码,如图所示
会发现存储字符串的字符数值是final常量。再看String的构造方法,发现String的value值在构造方法就确定了值。这里有必要说明下关键字final
final修饰的属性为常量(值不可改变),要么在声明的同时赋值,要么在构造方法里面进行赋值,一旦赋值就不能改变。
所以,用String来实现字符串拼接,由于String的值不可改变,所以每次拼接都要生成一个新的String来存储新的字符串。所以使用String来处理字符串拼接性能会很低。
更多String的信息,可以参考博客:http://longpo.iteye.com/blog/2199493
2.StringBuffer
StringBuffer类继承了抽象类 AbstractStringBuilder类,打开AbstractStringBuilder源码
再来StringBuffer看看重载的三个构造方法
发现都是调用父类AbstractStringBuilder的构造方法
发现StringBuffer的存储数据的char数组不是final类型的,说明可以变更,且构建出来的字符串都还有空余的位置来拼接字符串。
在StringBuffer中我们使用append()函数来进行字符串的拼接。我们可以想到虽然char数组还有剩余,但一直拼接肯定也不够用。所以有必要看看append函数的源码实现。
查看其父类AbstractStringBuilder的append方法
发现当value数组容量不够时,会创建一个新的value数组来存储字符串。到这里就应该明白了StringBuffer字符串拼接的原理啦。当char value数组不够时会创建个更大容量的数组来存储。效率明显比String高。
3.StringBuilder
StringBuilder和StringBuffer是两兄弟,用法基本一样,不同的是StringBuffer是同步的,线程安全的,而StringBuilder不保证同步,线程不安全。
StringBuilder在大多数实现中比StringBuffer快, 在字符串缓冲区被单个线程访问时,建议优先使用StringBuilder
以上所述是小编给大家介绍的java字符串抉择,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
# java字符串
# java IO流 之 输出流 OutputString()的使用
# java IO流 之 输入流 InputString()的使用
# Java关于IO流的全面介绍
# Java IO流 文件传输基础
# Java基于IO流读取文件的方法
# java IO流文件的读写具体实例
# Java 数据库连接池详解及简单实例
# Java中的泛型方法详解及简单实例
# java HashMap和HashTable的区别详解
# java生成XML的方法【附demo源码下载】
# java的Arrays工具类实战
# Java 使用IO流实现大文件的分割与合并实例详解
# 有必要
# 小编
# 的是
# 都是
# 也不
# 都要
# 在此
# 更大
# 我们可以
# 给大家
# 再来
# 就不能
# 再看
# 都还
# 很低
# 来实现
# 所述
# 创建一个
# 不安全
# 给我留言
相关文章:
如何选择可靠的免备案建站服务器?
网站制作话术技巧,网站推广做的好怎么话术?
,如何利用word制作宣传手册?
红河网站制作公司,红河事业单位身份证如何上传?
香港服务器网站卡顿?如何解决网络延迟与负载问题?
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
如何快速搭建高效香港服务器网站?
公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?
如何快速搭建个人网站并优化SEO?
重庆网站制作公司哪家好,重庆中考招生办官方网站?
建站主机数据库如何配置才能提升网站性能?
如何通过西部建站助手安装IIS服务器?
如何快速生成橙子建站落地页链接?
外贸公司网站制作,外贸网站建设一般有哪些步骤?
企业在线网站设计制作流程,想建设一个属于自己的企业网站,该如何去做?
头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?
高性价比服务器租赁——企业级配置与24小时运维服务
如何在阿里云完成域名注册与建站?
如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本
建站主机解析:虚拟主机配置与服务器选择指南
建站主机类型有哪些?如何正确选型
Swift中swift中的switch 语句
c# 在高并发场景下,委托和接口调用的性能对比
建站主机功能解析:服务器选择与快速搭建指南
安云自助建站系统如何快速提升SEO排名?
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
Python文件管理规范_工程实践说明【指导】
网站制作软件免费下载安装,有哪些免费下载的软件网站?
如何快速搭建二级域名独立网站?
网站制作公司广州有几家,广州尚艺美发学校网站是多少?
C#如何在一个XML文件中查找并替换文本内容
高防服务器租用如何选择配置与防御等级?
如何制作算命网站,怎么注册算命网站?
如何在宝塔面板中修改默认建站目录?
如何高效生成建站之星成品网站源码?
如何在景安云服务器上绑定域名并配置虚拟主机?
如何用5美元大硬盘VPS安全高效搭建个人网站?
建站之星如何助力网站排名飙升?揭秘高效技巧
建站之星如何实现网站加密操作?
如何用已有域名快速搭建网站?
测试制作网站有哪些,测试性取向的权威测试或者网站?
模具网站制作流程,如何找模具客户?
实例解析Array和String方法
内部网站制作流程,如何建立公司内部网站?
网站图片在线制作软件,怎么在图片上做链接?
建站之家VIP精选网站模板与SEO优化教程整合指南
如何快速配置高效服务器建站软件?
如何通过VPS建站无需域名直接访问?
,南京靠谱的征婚网站?
建站之星代理商如何保障技术支持与售后服务?
*请认真填写需求信息,我们会在24小时内与您取得联系。