String 和 StringBuffer 的区别
为什么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 的区别相关推荐
- String与StringBuffer的区别
String与StringBuffer的区别 简单地说,就是一个变量和常量的关系.StringBuffer对象的内容可以修改:而String对象一旦产生后就不可以被修改,重新赋值其实是两个对象. St ...
- JAVA中String与StringBuffer的区别
String和StringBuffer的区别,网上资料可以说是数不胜数,但是看到这篇文章,感觉里面做的小例子很有代表性,所以转一下,并自己做了一点总结. 在java中有3个类来负责字符的操作. 1.C ...
- String和StringBuffer的区别,String长度是固定的?
String和StringBuffer的区别,String长度是固定的? 区别: 1. String类字符串的长度是固定的,StringBuffer类字符串的长度是可变的.因为String改变的是地址 ...
- Java中string与String区别_JAVA中String与StringBuffer的区别
JAVA中String与StringBuffer的区别 2009-12-3文字大小:大中小 在java中有3个类来负责字符的操作. 1.Character 是执行 单个字符操作的, 2.String ...
- Java中String 和StringBuffer的区别
先看下面的这个例子,读懂这个例子,你就理解了. publicclass Test { publicstaticvoid stringReplace (String text) { text = tex ...
- java中string 和stringbuffer的区别_Java中的String,StringBuilder,StringBuffer三者的区别...
最近在学习Java的时候,遇到了这样一个问题,就是String,StringBuilder以及StringBuffer这三个类之间有什么区别呢,自己从网上搜索了一些资料,有所了解了之后在这里整理一下, ...
- String Stringbuilder StringBuffer的区别和应用
1.可变与不可变 1) String类中使用字符串数组来保存字符串.因为有final修饰,所以,String对象是不可变的 private final char vakue[]; 2) StringB ...
- String和StringBuffer的区别
参考资料:http://blog.csdn.net/lclai/article/details/6141548 其实就是把别人的博文扒了下来,加深一下印象. 首先,StringBuffer对象的内容可 ...
- String , StringBuffer 和 StringBuilder 区别
转载:http://www.blogjava.net/chenpengyi/archive/2006/05/04/44492.html 相信大家对 String 和 StringBuffer 的区别也 ...
最新文章
- 一道有意思的阶乘计算题
- 计算机网络谢希仁第七版课后答案第五章 传输层
- java继承的知识点_Java知识点梳理——继承
- Globus toolkit3.0
- linux 索引代码的函数定义,Linux网络接口操作之if_nameindex
- .NET6之MiniAPI(一):开始Mini API
- 通过Dapr实现一个简单的基于.net的微服务电商系统(九)——一步一步教你如何撸Dapr之OAuth2授权-百度版...
- linuxpython升级3.5_linux升级python3.5到3.6
- 《go程序设计语言》读书笔记
- 工业机器人用铸铁牌号_蠕墨铸铁生产工艺
- mysql 表 区 块 页_数据库 | 001-MySQL梳理系列(一)
- 机智云——燃烧激情,点燃梦想,创业维艰,砥砺前行
- 随机森林——股票涨跌预测模型搭建
- 三招解决!电脑密码忘记了怎么办?新手都能学会
- Java基础-数组01
- Spark SQL 创建局部视图和全局视图,以及找不到全局视图的问题解决
- 九宫格摆法_九张照片墙怎么摆放图,1的九宫格效果图
- Hinton 2006 science 文章 RBM 预训练 AutoEncoder
- android textview设置图片大小,修改Textview内图片文字间距和图片大小
- Openvpn搭建并使用用户名密码登录
热门文章
- java 图片识别_JAVA识别图片中的文字
- 插件properties_PageHelper分页插件的原理是什么
- 【月报】滨哥教我的宝贵经验
- python分析每月销售数据_利用Python进行某单品销售数据分析
- axios post json_助你解析Axios原理之一:如何实现多种请求方式
- oracle中序号生成器,Oracle序列生成器
- activator.createinstance 需要垃圾回收么_Epsilon:你为什么需要一个不回收内存的垃圾回收器?...
- 判断回文数 java_java如何判断回文数
- php动态页面在ie浏览器中css布局板块全缩在中间,CSS网页布局开发时的常见问题及解决方法...
- unity3d android 后台运行,unity3d发布apk在android虚拟机中运行的详细步骤(unity3d导出android...