String、StringBuffer、StringBuilder之间的区别
来源:互联网 发布:小提琴软件 编辑:程序博客网 时间:2024/05/29 12:02
String类:
注意点:
(1) equals(Object anObject)方法和contentEquals(CharSequence cs)的不同是:设计不同,equals()是重写object类的而contentEquals()是String类自身的;
(2) String、StringBuffer、StringBuilder之间的区别:
- String类表示的是不可变的字符串,只有通过不断的创建对象来来达到改变数值的目的,耗内存,效率低;
- StringBuffer表示线程安全的可变序列,安全的用于多线程;
- StringBuilder类提供了与StringBuffer兼容的API,但不保证同步(指线程同步)。被单个线程使用的时候建议优先使用该类,一般它比StringBuffer要快;
- String类重写了equals()方法,而StringBuffer、StringBuilder没有重写;
- 三者都重写了toString()方法,但是重写的方式不同,String返回的是当前String实例的引用,Stringbuffer和StringBuilder返回的是一个当前对象缓冲区中所有字符内容的新的String对象;
// 创建一个字符串的对象,String是一个比较特殊的引用类型
// 第一种方式
String name = "admin"; // admin的对象,保存在常量池中。
// System.out.println(name.hashCode());
// 第二种方式
String newName = new String("guest");// 保存在堆内存中。
// String类的对象是不可修改(修改就是保证地址一致,内部不同)的。
name = "张三";// 这是重新引用了一个全新的字符串对象。
// System.out.println(name.hashCode());
// 对于String类的对象就没有修改的操作,只是重新的引用了一个对象,改变的地址。
System.out.println(name + "......." + newName);
// 为什么String类的对象不可以修改。
// 见源码: private final char value[];
// value是不可能完成动态数组的实现了。并不是因为是final修饰的原因。
1 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之间的区别
- 1.String、Stringbuffer、Stringbuilder之间的区别。
- String,StringBuffer与StringBuilder之间的区别
- String,StringBuffer,StringBuilder之间的区别
- String、StringBuffer、StringBuilder之间的区别
- String、StringBuffer和StringBuilder之间的区别
- String, StringBuilder, StringBuffer 之间的区别 - Java
- String、StringBuffer、StringBuilder之间的区别
- String,StringBuffer,StringBuilder之间的区别
- String、 StringBuffer、StringBuilder之间的区别
- js 分页插件
- 实现使用支付宝交易接口实现机构端代理系统的总结
- 插入mysql数据库中的数据有乱码
- kafka入门介绍及环境搭建
- Oracle 树操作(select…start with…connect by…prior)
- String、StringBuffer、StringBuilder之间的区别
- linux常用命令
- 常用资源下载地址
- JavaScript里的循环方法:forEach,for-in,for-of
- Linux系统显示中文乱码和系统菜单乱码解法
- 流氓也玩障眼法~~
- OpenCV嵌入式图像处理(四)第一个OpenCV程序
- Qt布局管理
- Andorid-20k+的面试题