为什么80%的码农都做不了架构师?>>>   

String:
是对象不是原始类型.
为不可变对象,一旦被创建,就不能修改它的值.
对于已经存在的String对象的修改都是重新创建一个新的对象,然后把新的值保存进去.
String 是final类,即不能被继承.

StringBuffer:
是一个可变对象,当对他进行修改的时候不会像String那样重新建立对象
它只能通过构造函数来建立,
StringBuffer sb = new StringBuffer();
note:不能通过付值符号对他进行付值. 
sb = "welcome to here!";//error
对象被建立以后,在内存中就会分配内存空间,并初始保存一个null.向StringBuffer
中付值的时候可以通过它的append方法.
sb.append("hello");

字符串连接操作中StringBuffer的效率要比String高:

String str = new String("welcome to ");
str += "here";
的处理步骤实际上是通过建立一个StringBuffer,让侯调用append(),最后
再将StringBuffer toSting();
这样的话String的连接操作就比StringBuffer多出了一些附加操作,当然效率上要打折扣.

并且由于String 对象是不可变对象,每次操作Sting 都会重新建立新的对象来保存新的值.
这样原来的对象就没用了,就要被垃圾回收.这也是要影响性能的.

转载于:https://my.oschina.net/lyc819/blog/262755

String 和 StringBuffer 的区别相关推荐

  1. String与StringBuffer的区别

    String与StringBuffer的区别 简单地说,就是一个变量和常量的关系.StringBuffer对象的内容可以修改:而String对象一旦产生后就不可以被修改,重新赋值其实是两个对象. St ...

  2. JAVA中String与StringBuffer的区别

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

  3. String和StringBuffer的区别,String长度是固定的?

    String和StringBuffer的区别,String长度是固定的? 区别: 1. String类字符串的长度是固定的,StringBuffer类字符串的长度是可变的.因为String改变的是地址 ...

  4. Java中string与String区别_JAVA中String与StringBuffer的区别

    JAVA中String与StringBuffer的区别 2009-12-3文字大小:大中小 在java中有3个类来负责字符的操作. 1.Character 是执行 单个字符操作的, 2.String ...

  5. Java中String 和StringBuffer的区别

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

  6. java中string 和stringbuffer的区别_Java中的String,StringBuilder,StringBuffer三者的区别...

    最近在学习Java的时候,遇到了这样一个问题,就是String,StringBuilder以及StringBuffer这三个类之间有什么区别呢,自己从网上搜索了一些资料,有所了解了之后在这里整理一下, ...

  7. String Stringbuilder StringBuffer的区别和应用

    1.可变与不可变 1) String类中使用字符串数组来保存字符串.因为有final修饰,所以,String对象是不可变的 private final char vakue[]; 2) StringB ...

  8. String和StringBuffer的区别

    参考资料:http://blog.csdn.net/lclai/article/details/6141548 其实就是把别人的博文扒了下来,加深一下印象. 首先,StringBuffer对象的内容可 ...

  9. String , StringBuffer 和 StringBuilder 区别

    转载:http://www.blogjava.net/chenpengyi/archive/2006/05/04/44492.html 相信大家对 String 和 StringBuffer 的区别也 ...

最新文章

  1. 一道有意思的阶乘计算题
  2. 计算机网络谢希仁第七版课后答案第五章 传输层
  3. java继承的知识点_Java知识点梳理——继承
  4. Globus toolkit3.0
  5. linux 索引代码的函数定义,Linux网络接口操作之if_nameindex
  6. .NET6之MiniAPI(一):开始Mini API
  7. 通过Dapr实现一个简单的基于.net的微服务电商系统(九)——一步一步教你如何撸Dapr之OAuth2授权-百度版...
  8. linuxpython升级3.5_linux升级python3.5到3.6
  9. 《go程序设计语言》读书笔记
  10. 工业机器人用铸铁牌号_蠕墨铸铁生产工艺
  11. mysql 表 区 块 页_数据库 | 001-MySQL梳理系列(一)
  12. 机智云——燃烧激情,点燃梦想,创业维艰,砥砺前行
  13. 随机森林——股票涨跌预测模型搭建
  14. 三招解决!电脑密码忘记了怎么办?新手都能学会
  15. Java基础-数组01
  16. Spark SQL 创建局部视图和全局视图,以及找不到全局视图的问题解决
  17. 九宫格摆法_九张照片墙怎么摆放图,1的九宫格效果图
  18. Hinton 2006 science 文章 RBM 预训练 AutoEncoder
  19. android textview设置图片大小,修改Textview内图片文字间距和图片大小
  20. Openvpn搭建并使用用户名密码登录

热门文章

  1. java 图片识别_JAVA识别图片中的文字
  2. 插件properties_PageHelper分页插件的原理是什么
  3. 【月报】滨哥教我的宝贵经验
  4. python分析每月销售数据_利用Python进行某单品销售数据分析
  5. axios post json_助你解析Axios原理之一:如何实现多种请求方式
  6. oracle中序号生成器,Oracle序列生成器
  7. activator.createinstance 需要垃圾回收么_Epsilon:你为什么需要一个不回收内存的垃圾回收器?...
  8. 判断回文数 java_java如何判断回文数
  9. php动态页面在ie浏览器中css布局板块全缩在中间,CSS网页布局开发时的常见问题及解决方法...
  10. unity3d android 后台运行,unity3d发布apk在android虚拟机中运行的详细步骤(unity3d导出android...