全新java初学者实践附加教程2--String,StringBuffer和StringBuilde
2007-08-10 16:54
741 查看
这也是个比较重要的东西,因为String字符串的应用范围很广。但是有些时候使用StringBuffer更好一些。有些时候还不能用String。到了jdk5的时候,又补充了个东西StringBuilder。我们来看看他们的区别。
String 的长度是不可变的,StringBuffer的长度是可变的。如果对字符串中的长度经常进行操作,特别是内容要修改时,使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法。
当我们进行字符拼接时,请使用StringBuffer或StringBuilder类而非String类,因为前者将比后者性能高的多,在java语言的优化编程里面,这是一条比较重要的。
在使用String 的时候,拼接字符串时使用“+”这个东西在JVM上形成临时的StringBuffer对象,同时在每一个字符串上都建立一个对象,拼接了两个字符串居然创建了4个对象。(一个String,两个字符串,一个临时的StringBuffer)。
如果使用StringBuffer就好多了,它可以只需创建两个对象就可以了,一个StringBuffer和最后的String 。
StringBuilder是在jdk5中添加的一个类,它与StringBuffer功能一样。但是它不是线程安全的,就是说它不支持多线程。如果在不需要多线程的时候,使用StringBuilder比StringBuffer还要块的多。不支持线程同步当然要快了。
String 的长度是不可变的,StringBuffer的长度是可变的。如果对字符串中的长度经常进行操作,特别是内容要修改时,使用StringBuffer,如果最后需要String,那么使用StringBuffer的toString()方法。
当我们进行字符拼接时,请使用StringBuffer或StringBuilder类而非String类,因为前者将比后者性能高的多,在java语言的优化编程里面,这是一条比较重要的。
在使用String 的时候,拼接字符串时使用“+”这个东西在JVM上形成临时的StringBuffer对象,同时在每一个字符串上都建立一个对象,拼接了两个字符串居然创建了4个对象。(一个String,两个字符串,一个临时的StringBuffer)。
如果使用StringBuffer就好多了,它可以只需创建两个对象就可以了,一个StringBuffer和最后的String 。
StringBuilder是在jdk5中添加的一个类,它与StringBuffer功能一样。但是它不是线程安全的,就是说它不支持多线程。如果在不需要多线程的时候,使用StringBuilder比StringBuffer还要块的多。不支持线程同步当然要快了。
相关文章推荐
- 全新java初学者实践附加教程4――――图形编程
- 全新java初学者实践附加教程1----"=="和equals()
- 全新java初学者实践教程21-27+4个附加
- 全新java初学者实践附加教程3――――jdk5中for语句的补充
- [JAVA]全新java初学者实践教程(全)
- 全新java初学者实践教程1-8
- 全新java初学者实践教程8----jdk5的拆箱与装箱
- 全新java初学者实践教程14(java SE5.0版)----垃圾收集器
- 全新java初学者实践教程9-20
- 全新java初学者实践教程11(java SE5.0版)----jdk5的泛型声明
- 全新java初学者实践教程16(java SE5.0版)----基本语法5
- 全新java初学者实践教程9(java SE5.0版)----jdk5的数组
- 全新java初学者实践教程17(java SE5.0版)--基本语法6--final关键字
- 全新java初学者实践教程15(java SE5.0版)--jdk5中方法的重载与重写
- [JAVA]全新java初学者实践教程(全)
- 全新java初学者实践教程19(java SE5.0)--基本语法7- 访问控制和内部类
- java初学者实践教程26-网络程序
- java初学者实践教程18-抽象类和接口
- java初学者实践教程10-集合类
- java初学者实践教程2-jdk的使用