一,String

特点:字符串是常量,它们的值在创建之后不能修改。字符串的内容一旦发生改变,马上就创建了一个新的对象。

注意:字符串的内容不适宜频繁修改,因为一旦修改马上就创建了一个新的对象。若要频繁修改字符串中的内容,就应该使用Stringbuffer或者StringBuilder(这两者区别在后面讲)。

String str = "abc";
String str2 = str + "def";
System.out.println("str和str2是同一个对象吗?" + (str == str2));

创建一个字符串“abc”,然后这个字符串加上“def”并且得到第二个字符串,比较这两个字符串可以发现它们是不同的对象。

str和str2是同一个对象吗?false

二,StringBuffer

特点:字符串缓冲类(StringBuffer),是线程安全的可变字符序列,线程同步。StringBuffer底层是依赖一个字符数组来存储数据的,该字符数组默认的初始容量是16,当不够使用时,容量增加一倍(一倍+2)。StringBuffer可以方便的对字符串进行增删改查操作并且不用创建新的对象。

三,StringBuilder

StringBuilder也是字符串缓冲类,StringBuilder的功能其实和StringBuffer是一样的,它相比StringBuffer最主要的区别就是它是线程不安全的,它不同步。

四,StringBuffer与StringBuilder的比较

相同:1,两个类都是字符串缓冲类。

2,两个类的方法都是一致的。

不同:1,StringBuffer是线程安全的,操作效率低;StringBuilder是非线程安全的,操作效率高。

2,StringBuffer是JDK1.0出现的,StringBuilder是JDK1.5出现的。

开发中推荐使用StringBuilder,因为开发效率高。在实际开发中,几乎不会遇见多线程操作一个字符串,并且,StringBuilder就是设计出来代替StringBuffer的。

Java之String,StringBuffer,StringBuilder比较相关推荐

  1. 【翻译】Java中String, StringBuffer, StringBuilder的区别

    2019独角兽企业重金招聘Python工程师标准>>> String 是  Java 中最重要的类之一,并且任何刚开始做Java编程的人,都会 用String定义一些内容,然后通过著 ...

  2. java中 String StringBuffer StringBuilder的区别

    * String类是不可变类,只要对String进行修改,都会导致新的对象生成. * StringBuffer和StringBuilder都是可变类,任何对字符串的改变都不会产生新的对象. 在实际使用 ...

  3. Java之String,StringBuffer,StringBuilder

    1.String 在 Java 中,字符串被作为 String 类型的对象处理. String 类位于 java.lang 包中.默认情况下,该包被自动导入所有的程序.String 对象创建后则不能被 ...

  4. Java中String,StringBuffer,StringBuilder的区别

    String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) 运行速度 StringBuilder > StringBuffe ...

  5. 2.Java中String,StringBuilder以及StringBuffer的关系与区别

    String     StringBuffer     StringBuilder String的值是不可变的,这就导致每次对String的操作都会生成新的String对象,不仅效率低下,而且浪费大量 ...

  6. 重温java中的String,StringBuffer,StringBuilder类

    不论什么一个系统在开发的过程中, 相信都不会缺少对字符串的处理. 在 java 语言中, 用来处理字符串的的类经常使用的有 3 个: String.StringBuffer.StringBuilder ...

  7. 浅谈 Java 字符串(String, StringBuffer, StringBuilder)

    我们先要记住三者的特征: String 字符串常量 StringBuffer 字符串变量(线程安全) StringBuilder 字符串变量(非线程安全) 一.定义 查看 API 会发现,String ...

  8. `java`学习笔记(十二)`Java`--`String``StringBuffer``StringBuilder`

    Java–String&&StringBuffer&&StringBuilder 文章目录 `Java`--`String`&&`StringBuffe ...

  9. Java中的String,StringBuffer,StringBuilder有什么区别?

    相信有很多同学都是经常使用String的,或者也或多或少的听说过StringBuffer,StringBuilder,那么在经常遇见的面试题中(标题),到底这三个的区别是什么呢?让我们来一探究竟! S ...

  10. String, StringBuffer,StringBuilder

    String, StringBuffer,StringBuilder的区别 java中String.StringBuffer.StringBuilder是编程中经常使用的字符串类,都实现了CharSe ...

最新文章

  1. DayDayUp:大学英语六级考试简介、应试分析、题型内容((Writing/Listening/Reading/Translation)、解答经验步骤、解题技巧之最强攻略(建议收藏)
  2. vue抽屉_VUE组件中的 Drawer 抽屉实现代码
  3. 如何将SAP云平台Neo环境的Subaccount注册到IAS服务里
  4. btree索引和hash索引的区别(待更新)
  5. 命令行下 pdb 调试 Python 程序
  6. php数组常用_PHP常用数组总结
  7. vue openlayer 实现加载底图
  8. IronJS与CSScript
  9. 搜电影和网盘资源网站
  10. 目标检测中PR曲线和mAP
  11. Python3之入门小程序
  12. window系统批量测试IP地址的bat脚本
  13. python20培训班
  14. LaTeX技巧-排版大括号
  15. oracle aix迁移到x86,Oracle采用XTTS从小机迁移X86平台时,system/SYSAUX中的表如何迁移...
  16. nargin函数的用法
  17. c语言程序设计医院就医,C语言程序设计(医院信息管理系统)附源代码[精品].doc...
  18. text-davinci-002与 text-davinci-003 有什么不同?
  19. 小D课堂 - 新版本微服务springcloud+Docker教程_汇总
  20. 博图14软件安装顺序_博图软件安装顺序 为什么博途用的人不多

热门文章

  1. AVR之bootloader介绍
  2. CS 635: Advanced Systems Programming
  3. 11.Linux 高性能服务器编程 --- 定时器
  4. 28.卷1(套接字联网API)---原始套接字
  5. 94. autoload
  6. 13. Window blur() 方法
  7. 2.2 Zend_Controller 基础
  8. Linux查询命令帮助语句,linux有关命令的帮助和用法查看
  9. script片段在前导致对下文的html元素引用失效
  10. LoadRunner测试一个简单的AJAX例子