全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

java字符串抉择

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

  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小时内与您取得联系。