Java中string与String区别_JAVA中String与StringBuffer的区别
JAVA中String与StringBuffer的区别
2009-12-3文字大小:大中小
在java中有3个类来负责字符的操作。
1.Character 是执行
单个字符操作的,
2.String 对一串字符执行
操作。不可变类。
3.StringBuffer 也是对一串字符执行
操作,但是可变类。
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 都会重新建立新的对象来保存新的值.
这样原来的对象就没用了,就要被垃圾回收.这也是要影响性能的.
看看以下代码:
将26个英文字母重复加了5000次,
String tempstr = "abcdefghijklmnopqrstuvwxyz";
int times = 5000;
long lstart1 = System.currentTimeMillis();
String str = "";
for (int i = 0; i < times; i++) {
str += tempstr;
}
long lend1 = System.currentTimeMillis();
long time = (lend1 - lstart1);
Java中string与String区别_JAVA中String与StringBuffer的区别相关推荐
- java中string 和stringbuffer的区别_Java中的String,StringBuilder,StringBuffer三者的区别...
最近在学习Java的时候,遇到了这样一个问题,就是String,StringBuilder以及StringBuffer这三个类之间有什么区别呢,自己从网上搜索了一些资料,有所了解了之后在这里整理一下, ...
- java中String类是什么_Java中字符串的学习(一)String类的概述及常见方法使用
转载请注明出处http://www.cnblogs.com/devtrees/p/4347079.html (拓展:Api:编程语言对外给我们提供的应用程序接口.) 一.概述: 我们平时上网发帖,帖子 ...
- java中String类是什么_Java中的String类
/* String类用于描述字符串事物的 那么它就提供了多个方法对字符串进行操作 方法都会用,字符串这块就结束了 常见的操作有哪些? "abcd" 它应该具备什么功能,我们才能更好 ...
- java string 后几位_java中String占几个位元组
java中String占几个位元组以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! java中String占几个位元组 J ...
- Java中string字符串的值_Java中的字符串(String)
一.基本概念: 字符串是一系列字符串的序列.在Java语言中字符串是用一对对双引号"",括起来的字符系列.例如"Hello","你好".从数 ...
- java中string类面试题_java中String类的面试题大全含答案
1.下面程序的运行结果是()(选择一项) String str1="hello"; String str2=new String("hello"); Syste ...
- java null和 的区别_java中null和的区别
null和""的区别 问题一: null和""的区别 String s=null; string.trim()就会抛出为空的exception String s ...
- java中容易混淆的方法_java中容易混淆的区别
本文会随时更新一些java中容易混淆的关键字或者知识点,如有偏见之处,望留言! final和static的差别: 1,final的英语意思"最后的",在java中修饰类,方法和变量 ...
- JAVA中重写和实现的区别_Java中重载和重写的区别
Java中重载和重写的区别 1.1重载是什么 Overloading 方法重载是让类以统一的方式处理不同类型数据的一种手段,多个同名函数同时存在,具有不同的参数个数/类型 1.2为什么用重载 重载 ...
最新文章
- Windows 10 技术预览
- 【 hdu3949 XOR】
- XGBoost的基本使用应用Kaggle便利店销量预测
- BAPI_ACC_GL_POSTING_POST生成财务预制凭证
- WebService SOAP、Restful和HTTP(post/get)请求区别
- unity应用开发实战案例_「简历」STAR法则的实战应用,附手把手教学案例
- 销售与顾客的PV同步算法
- python程序员自我介绍范文_程序员的自我介绍|史上最有趣的版本
- 47.使用外部 JavaScript 和 CSS(8)
- OpenCV算法精解1--OpenCV中C++基本操作1
- linux系统中使用百度云盘
- 计算机网络名词解释dns_DNS名词解释
- 动态规划实现生物碱基序列全局匹配
- DIY装机用单条8GB还是2条4GB双通道内存好?选错当心速度会变慢!
- yxy小菊蒻的201130总结
- 快速调出multisim里单刀双置开关
- 读懂 x86 架构 Linux 系统虚拟化,这文不容错过
- (项目)在线教育平台(十三)
- 什么是IA32 及字长的理解
- java一个猿人部落生存游戏,猿人进化模拟器无限金币钻石无敌版
热门文章
- 在非洲意外当上酋长的河南小伙,现在咋样了?
- 厉害!这位80后连发2篇Science!身处普通高校,告诉你科研不决取于平台
- 颜宁的学生都已经副院长了!还发表了学校首篇Nature
- 教授是如何教授数学思维的?
- 华人学者黄皓两页证明解决计算机科学领域难题:布尔函数敏感度猜想
- NIPS 2018 | 中科院自动化所两篇入选论文:高清真实图像生成领域及GAN研究在人脸识别领域的进展...
- C语言fgets函数了解
- 当微服务遇上 Serverless | 微服务容器化最短路径,微服务 on Serverless 最佳实践
- 如何做规划?分享2种思维和4个方法
- 「直播回顾」Mars:加速数据科学的新方式