String,StringBuffer,StringBuilder三者之间的区别

来源:互联网 发布:护肤品行业数据 编辑:程序博客网 时间:2024/06/06 01:44
  总结一下:          String , StringBuffer , StringBuilder三者之间的区别              String  字符串常量              StringBuffer 字符串变量 线程安全 效率低              StringBuilder 字符串变量 线程不安全 效率高      当我们在字符串缓冲区被多个线程使用是,JVM不能保证StringBuilder的操作是安全的,虽然他的速度最快.      但是可以保证StringBuffer是可以正确操作的。当然大多数情况下就是我们是在单线程下进行的操作,      所以大多数情况下是建议用StringBuilder而不用StringBuffer的,就是速度的原因。     首先由于String是字符串常量一旦赋值不能被修改,因此如果要频繁对字符串进行操作还是不要选用String类型         之前我们经常会遇到这样的例子:         String s = " hello";         s = s + "world";         System.out.println(s);         我们觉得这里的字符串变量只有一个s其实不是的当我们对字符串进行修改操作时,其实就会创建一个新的String对象去接收修改后的String对象,原来的字符串就会被垃圾回收器GC回收掉         StringBuffer和StringBuilder就不一样了,他们俩是字符串变量,每次我们对字符串进行操作的时候,都是基于对象本身进行操作,不会像String类型产生新的对象那么麻烦,因此效率更快.       经典例题    String s = " hello" +"world"+"i love you ";    StringBuffer sb =  new StringBuilder("hello").append("world").append("i love you");         我们发现第一行代码执行效率比第二行其实这是JVM的一个把戏         第一行         String s = " hello" +"world"+"i love you ";         实际上等同于          String s = "hello world i love you ";       >   它只定义了一个字符串因此执行效率肯定高于StringBuffer但是如果这样定义在做字符串拼接时使用的外部的String对象的话进行拼接的效率就不如StringBuffer.>   首先在内存中就会先创建四个String对象,用s4去接收前三个的字符串,然后jvm再将s1,s2,s3回收,这样子的效率明显较低         String s1 = "hello";         String s2 = "world";         String s3 = " i love you";         String s = s1 + s2 + s3; 三者使用总结:           1:如果操作的数据少  -->String           2:单线程操作字符串缓冲区 下操作大量数据 -->StringBuilder           3:多线程操作字符串缓冲区 下操作大量数据 -->StringBuffer
阅读全文
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 一岁宝宝o型腿怎么办 宝宝一岁o型腿怎么办 宝宝一周两个月走路弓着腿怎么办 宝宝腿走路膝盖弯曲怎么办 两岁宝宝不爱走路怎么办 水鸭子脚不能走了怎么办 鸭子坐着脚走不动怎么办 鸭子步走了腿疼怎么办? 跳爵士舞没感觉怎么办 军校学员体能考核不达标怎么办 俯卧撑新兵连做不动怎么办 宝宝胆小不敢上体能课怎么办 28岁老太太抬头纹剩两颗怎么办 大腿前侧抽筋痛怎么办 电脑看片缓冲慢怎么办 跑步跑的腿疼怎么办 第一次去健身房练瑜伽不会怎么办 跑步过后腿筋疼怎么办 俯卧撑只能做20个怎么办 被裤裆峰咬了怎么办? 新兵5公里不想跑怎么办 老公掉粪坑了你怎么办 在部队被欺负了怎么办 衣服上的标志洗掉了怎么办 整件白衬衣被染怎么办 遇到敲诈小混混该怎么办 纯棉衣服洗长了怎么办 纯棉的衣服洗后长了怎么办 睡觉把脖子扭了怎么办 微信限额10万了怎么办 新兵条令背不下来怎么办 武警部队改革去年入伍的新兵怎么办 规培考试没考上怎么办 规培如果没考上怎么办 农民工集体讨薪 领导不在怎么办 卷闸门钥匙丢了怎么办 邻居把路堵了该怎么办 邻居家的盆栽对准我家大门怎么办 袜子掉到了楼下的阳台怎么办? 合租房没有阳台晒衣服怎么办 车门锁了钥匙在里面怎么办