当前位置: 首页 > news >正文

String,StringBuffer ,StringBuilder的区别

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

不同点

一、基类不同

StringBuffer、StringBuilder 都继承自AbStractStringBuilder,String 直接继承自 Object

87c22b4b5caceef74c25adf5580f7ee2782.jpg

91c8419f32956e145d5992eb7527e1c9903.jpg

931378047e249e54da205400a7fd34759b5.jpg

2、底层容器“不同”

虽然底层都是字符数组,但是String的是final修饰的不可变。buffer 和 builder 都是 可变的 字符数组

1a10d0802826074a5cee158be64a2cbec58.jpg

40b5c9b7e3007a623e8755b4a5813e6c3bc.jpg

初始容量大小为16

4d15fc33b0bb5c04b749dccdc4a622e740c.jpg

4b968720187f32b22714acc95fe0825d6ab.jpg

3、StringBuffer是线程安全的,StringBuilder 是非线程安全的,效率更高

 

整体效率

String< StringBuffer < StringBuilder

但是在String str = "This is" + "time" 时效率最高 ( 直接在常量池中)

 

还可以看这里:http://www.cnblogs.com/zeze/p/6611993.html

转载于:https://my.oschina.net/zjllovecode/blog/1857571

相关文章:

  • Android CoordinatorLayout(六) 加入下拉功能
  • 谈谈《Dotnet core结合jquery的前后端加密解密密码密文传输的实现》一文中后端解密失败的原因...
  • 数组单调和
  • 人工智能革命之下你会失业还是变得富有?
  • Angular2开发踩坑系列-生产环境编译
  • HTML5新特性
  • Servlet、Filter
  • Linux学习—退出vi编辑模式
  • storm(二) 事务机制
  • 《PHP和MySQL Web 开发》 第12章 MySQL高级管理
  • Filter(过滤器)
  • mac Homebrew 指令积累
  • React-Native 之 GD (七)下拉刷新 及 上拉加载更多
  • 三分钟轻松了解Spring框架基础知识
  • 世界三大生产理论之TOC制约理论
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • Akka系列(七):Actor持久化之Akka persistence
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • Git的一些常用操作
  • rabbitmq延迟消息示例
  • React Native移动开发实战-3-实现页面间的数据传递
  • 大快搜索数据爬虫技术实例安装教学篇
  • 搞机器学习要哪些技能
  • 工作手记之html2canvas使用概述
  • 聊聊flink的BlobWriter
  • 面试总结JavaScript篇
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 算法-图和图算法
  • 微信小程序:实现悬浮返回和分享按钮
  • 因为阿里,他们成了“杭漂”
  • 《码出高效》学习笔记与书中错误记录
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • # C++之functional库用法整理
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • (libusb) usb口自动刷新
  • (八)Spring源码解析:Spring MVC
  • (超详细)2-YOLOV5改进-添加SimAM注意力机制
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (考研湖科大教书匠计算机网络)第一章概述-第五节1:计算机网络体系结构之分层思想和举例
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (一)Linux+Windows下安装ffmpeg
  • (转)h264中avc和flv数据的解析
  • ..回顾17,展望18
  • .net framework 4.0中如何 输出 form 的name属性。
  • .NET 命令行参数包含应用程序路径吗?
  • .NET 药厂业务系统 CPU爆高分析
  • .Net+SQL Server企业应用性能优化笔记4——精确查找瓶颈
  • .netcore如何运行环境安装到Linux服务器
  • .Net环境下的缓存技术介绍
  • .net中调用windows performance记录性能信息
  • .net中生成excel后调整宽度