String和StringBuffer、StringBuilder的区别是什么?

在面试中我们经常会被问到这个问题,包括我自己也掉到坑里了;我就做一个记录分享出来!

文章目录

  • String和StringBuffer、StringBuilder的区别是什么?
  • String
  • StringBuffer
  • StringBuilder
  • 综述

String

String:字符串是常量,作为方法形参传递,不会改变实际参数,一旦被赋值不能被更改;每次对String的操作都会生成新的String对象,这样效率低下并且会浪费有限的内存空间;

  • 适用于少量的字符串操作的情况

StringBuffer

StringBuffer:线程安全的可变字符序列,能够被多次的修改并且不产生新的未使用对象,执行效率低(字符串缓冲区);

  • 适用多线程下在字符缓冲区进行大量操作的情况

StringBuilder

StringBuilder:线程不安全的类,能够被多次的修改并且不产生新的未使用对象,单线程程序中使用,不同步,执行效率高

  • 适用于单线程下在字符缓冲区进行大量操作的情况

综述

【面试常问】Java中String和StringBuffer、StringBuilder的区别是什么?相关推荐

  1. Java中String、StringBuffer、StringBuilder的区别

    Java中String.StringBuffer.StringBuilder是编程中经常使用的字符串类,他们之间的区别也是经常在面试中会问到的问题.现在总结一下,看看他们的不同与相同. 1.可变与不可 ...

  2. Java基础知识(JAVA中String、StringBuffer、StringBuilder类的区别)

    java中String.StringBuffer.StringBuilder是编程中经常使用的字符串类,他们之间的区别也是经常在面试中会问到的问题.现在总结一下,看看他们的不同与相同. 1.可变与不可 ...

  3. Java中string拼接,StringBuilder,StringBuffer和+

    Java中string拼接,StringBuilder,StringBuffer和+,到底哪个更合适? StringBuilder线程不安全,效率较线程安全的StringBuffer高.jdk1.5之 ...

  4. Java中String,StringBuffer都是final类

    Java中String和StringBuffer同时final类,它们的区别在哪里 ? final 表示这个类不能再被继承.String不可变是说String中用一个final 的char数组priv ...

  5. java中拼接和 的区别_浅析Java中String与StringBuffer拼接的区别

    学习笔记: 1.String拼接会创建一个新的String对象,存储拼接后的字符串: StringBuffer拼接是直接在本身拼接,会即时刷新. 2.String只能拼接String类型的字符串: S ...

  6. Java中String 和StringBuffer的区别

    先看下面的这个例子,读懂这个例子,你就理解了. publicclass Test { publicstaticvoid stringReplace (String text) { text = tex ...

  7. JAVA中String、StringBuffer和StringBuider类

    String String类的继承关系图: 基本介绍: String对象用于保存字符串,也就是一组字符序列 字符串常量对象是用双引号括起的字符序列.例如:"你好","ha ...

  8. Java中String、StringBuffer和StringBuilder的区别

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6581009.html  在编程中,对于字符串拼接,我们可以用String类重载的+或concat(str).S ...

  9. JAVA中String与StringBuffer的区别

    String和StringBuffer的区别,网上资料可以说是数不胜数,但是看到这篇文章,感觉里面做的小例子很有代表性,所以转一下,并自己做了一点总结. 在java中有3个类来负责字符的操作. 1.C ...

最新文章

  1. vue和react相同点_我在React和Vue中创建了相同的应用程序。 这是区别。
  2. Android开发ADB的安装
  3. 成本砍砍砍!不用数据也能用 BERT 做对比学习?
  4. Swing如何正确的处理界面中的线程(EDT)
  5. jQuery Ajax详解
  6. 户外私密Party | 在大峡谷里聊一点平时不能聊的干货(报名ing...)
  7. Websocket实现Java后台主动推送消息到前台
  8. 腾讯研发效率领先的秘密:高效率的工具
  9. VUE指令篇_不常用指令
  10. acwing 327. 玉米田
  11. Python熊猫– GroupBy
  12. Iphone表视图的简单操作
  13. 机器学习速成课程 | 练习 | Google Development——编程练习:(TensorFlow) Hello World
  14. (@WhiteTaken)设计模式学习——代理模式
  15. Android中加载ETC2压缩格式(PKM后缀)纹理
  16. R语言机器学习xgboost实例,油管上的关于xgboost的例子
  17. Mac上挂载移动硬盘出现“Read-only file system“问题
  18. 手把手带你从0搭建一个Golang ORM框架(上)!
  19. dede服务器建站_「建站篇」如何将本地搭建的织梦站点上传到服务器空间?
  20. UVM重点归纳(一)

热门文章

  1. STM32F1单片机参考文档
  2. love2d之路(三)一个简易弹幕射击游戏示例(上)
  3. spa单页面应用html缓存问题
  4. 贴片封装电阻功率对应表
  5. 腾讯霸气回应年终奖传言:年终奖的4种故事,每年重复上演一遍
  6. 智慧城市-物联网的衍生物
  7. 基于SSM的学生社团管理系统 毕业设计-附源码211531
  8. [经典]HTML标签的英文全称与中文释义
  9. Unity之射线穿透
  10. 静态代码检查工具-PMD