在对于一些复杂的字符串处理上,显然string已经不能胜任这项能力,这时候我们可以选择StringBuilder进行处理。虽然在线程的安全性上没有太多保障,但也这正因为如此,所以它的运行效率是string类中最快的。下面我们就StringBuilder概念、特点、层次结构、实例分别带来讲解。
1.StringBuilder概念
JDK1.5后新增的类,特性和方法与StringBuffer大体上是一致的。区别于StringBuffer(线程安全)的是StringBuilder是非线程安全的,因此StringBuilder的性能略高与StringBuffer,效率最低的是String。
2.特点
StringBuilder 动态串,从字面意思来看,StringBuilder是的长度是可以变化的
StringBuilder是值类型,是为处理复杂频繁的字符串操作而存在的
代码分析:
StringBuilder sb=new Stringbuilder(“Hahaha”)
在堆中开辟空间存储变量sb,值为”Hahaha”,在栈中存sb,引用指向堆中地址
sb.Append(“123”) 根据栈中引用找到堆中地址,当初始分配内存不足,自动扩展,并将存放值变为”Hahaha123”
3.层次结构
4.实例
StringBuilder是一个类,可以用来处理字符串,最简单的用法:
StringBuilder sb=new StringBuilder(); sb.Append("123"); sb.Append("456"); string str=sb.ToString();
最后得到的str字符串的值就是"123456",这种用法要比直接字符串相加效率高
以上就是java中StringBuilder的基础内容介绍,相信大家已经初步对它有所了解,作为string类的一种,一些复杂的字符串问题或者追求较快的效率,可以选择StringBuilder的方法。