String 、StringBuffer、 StringBuilder的区别
来源:互联网 发布:发票认证软件 编辑:程序博客网 时间:2024/06/14 20:11
从长度上进行比较的话:
String 是定长的,不可改变的;
StringBuffer,和StringBuilder 是不定长,可改变
另外需要注意的是:StringBuilder 和StringBuffer 的equals 方法不能用来比较两个字符串的内容是否相等,这两个类都直接继承自Object ,并且没有重写equals 方法。
StringBuilder s1 = new StringBuilder("123"); StringBuilder s2 = new StringBuilder("123"); Logger.e(s1.equals(s2)); 输出结果是:false
若要比较内容是否相同,s1.toString().equals(s2.toString());
简单说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不要用 String ,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后, JVM 的 GC 就会开始工作,那速度一定会是相当慢的。
java.lang.StringBuilder一个可变的字符序列是5.0新增的。此类提供一个与 StringBuffer 兼容的 API,但不保证同步。该类被设计用作 StringBuffer 的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这种情况很普遍)。如果可能,建议优先采用该类,因为在大多数实现中,它比 StringBuffer 要快。两者的方法基本相同。
若要比较内容是否相同,sb1.toString().equals(sb2.toString())
简要的说, String 类型和 StringBuffer 类型的主要性能区别其实在于 String 是不可变的对象, 因此在每次对 String 类型进行改变的时候其实都等同于生成了一个新的 String 对象,然后将指针指向新的 String 对象,所以经常改变内容的字符串最好不要用 String ,因为每次生成对象都会对系统性能产生影响,特别当内存中无引用对象多了以后, JVM 的 GC 就会开始工作,那速度是一定会相当慢的。
0 0
- 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、stringbuffer、stringbuilder的区别
- String、StringBuffer 、StringBuilder 的区别
- String,StringBuffer,StringBuilder的区别
- String ,StringBuffer,StringBuilder的区别
- String,StringBuffer,StringBuilder的区别
- String StringBuffer StringBuilder的区别
- String,StringBuffer,StringBuilder的区别?
- VMWare的3种网络模型和虚拟机本地连接IP设置
- 原生js实现的星级评分效果
- 在Macbook Pro上使用CornerStone(SVN)
- Notification从顶部慢慢滑出弹出
- Android常用Manager
- String 、StringBuffer、 StringBuilder的区别
- google chrome开发者工具项(二)
- 关于管道通信和多线程应用 调试总结...
- 常见脚本命令LINUX DOS
- ACM书籍推荐
- 基于分级相关性的预期排序倒数
- java开发人员必去的知名国外网站
- jquery基础
- [Ubuntu] 安装翻译软件星际译王stardict