String、StringBuffer和StringBuilder的区别
来源:互联网 发布:订货会系统源码 编辑:程序博客网 时间:2024/06/06 13:07
一、 三者的区别
1、String 不可变:有“final”修饰符
private final char value[];
StringBuffer和StringBuilder可变:
均继承自AbstractStringBuilder类,在AbstractStringBuilder中使用字符数组保存字符串,可变。
char[] value;
2、StringBuffer加锁,所以线程安全,但是效率低
StringBuilder不加锁,所以线程不安全,但是效率高
效率排行榜
StringBuilder >StringBuffer > String
二、 String的特殊性
String str1 ="xiao ming "; // 字符串定义在静态区域。(存放静态成员 static定义的 大小有限)
String str2 = newString( "xiao ming "); // 字符串定义在动态区域即堆内存
——String缓冲池内不存在与其指定值相同的String对象,虚拟机将创建新String对象,存在则直接返回已存在的String对象的引用。
即先在静态区域找是否有值相同的对象,有则直接指向此变量。
阅读全文
0 0
- StringBuffer和StringBuilder和String的区别
- String和StringBuffer和StringBuilder的区别
- StringBuffer和StringBuilder和String的区别
- string和stringBuilder和stringBuffer的区别
- String和StringBuffer和StringBuilder的区别
- String Stringbuffer和StringBuilder的区别
- String Stringbuffer和StringBuilder的区别
- String StringBuffer和StringBuilder的区别?
- String、StringBuffer和StringBuilder的区别
- String 和StringBuffer,StringBuilder的区别
- String,StringBuffer 和StringBuilder的区别
- String、StringBuffer和StringBuilder的区别
- String Stringbuffer和StringBuilder的区别
- String、StringBuffer和StringBuilder的区别
- String 和StringBuffer,StringBuilder的区别
- String、StringBuilder和StringBuffer的区别
- String、StringBuilder和StringBuffer的区别
- String、StringBuilder和StringBuffer的区别
- Unity_PlayerPrefs_022
- java Timer为什么是线程安全的
- 从程序员到项目经理:思维一换天地宽
- LeetCode ---2.Two Sum
- Unity_2D系统_023
- String、StringBuffer和StringBuilder的区别
- ACM 递归 non-boring sequences
- android进程保活
- Lintcode92 Backpack solution 题解
- 《美团点评》编程题---有一个二维数组(n*n),写程序实现从右上角到左下角沿主对角线方向打印
- Groovy语言简介及基本语法
- openjudge 海贼王之伟大航路 状态压缩dp
- 75. Sort Colors
- opencv中图像属性nchannels小结