Java中表示字符串的有三个类:String、StringBuffer和StringBuilder 。其中,String的长度是不可变的,而StringBuffer和StringBuilder是长度可变的 。对于StringBuffer和StringBuilder来说,两者的API几乎一模一样,因为两者有共同的父类:AbstractStringBuilder 。区别在于StringBuffer的大部分方法都是被synchronized关键字修饰,是线程安全的,而StringBuilder则与其相反 。
所以本篇就对StringBuffer和StringBuilder类比着来进行介绍 。
构造器StringBuffer和StringBuilder的构造器都有三个,分别如下:
StringBuffer的构造器:
- new StringBuffer(int capacity)new StringBuffer(String str)new StringBuffer(CharSequence seq)
- new StringBuilder(int capacity)new StringBuilder(String str)new StringBuilder(CharSequence seq)
public class StringTest {public static void main(String[] args) throws IOException {// 初始化一个容量为16,但没有值的空StringBuffer对象StringBuffer strBuffer = new StringBuffer(16);System.out.println("strBuffer:"strBuffer", 容量为:"strBuffer.capacity()", 长度为:"strBuffer.length());// 初始化一个容量为16,但没有值的空StringBuilder对象StringBuilder strBuilder = new StringBuilder(16);System.out.println("strBuilder:"strBuilder", 容量为:"strBuilder.capacity()", 长度为:"strBuilder.length());// 根据一个字符串初始化一个StringBuffer对象StringBuffer strBuffer2 = new StringBuffer("how are you");System.out.println("strBuffer2的值为:"strBuffer2", 容量为:"strBuffer2.capacity()", 长度为:"strBuffer2.length());// 根据一个字符串初始化一个StringBuilder对象StringBuilder strBuilder2 = new StringBuilder("how old are you");System.out.println("strBuilder2的值为:"strBuilder2", 容量为:"strBuilder2.capacity()", 长度为:"strBuilder2.length());// 根据一个字符序列对象如StringBuilder来初始化一个StringBuffer对象StringBuilder strBuffer3 = new StringBuilder(strBuilder);System.out.println("strBuffer3的值为:"strBuffer3", 容量为:"strBuffer3.capacity()", 长度为:"strBuffer3.length());//根据一个字符序列对象如StringBuffer来初始化一个StringBuilder对象StringBuilder strBuilder3 = new StringBuilder(strBuffer2);System.out.println("strBuilder3的值为:"strBuilder3", 容量为:"strBuilder3.capacity()", 长度为:"strBuilder3.length());}} 执行结果如下图所示:拼接参数拼接参数常用的方法方法如下图:
也就是说,该方法可以拼接所有的基本数据类型和其对应的包装类型,字符数组、字符序列对象及其他的引用对象等 。
猜你喜欢
- 梦见轶闻是什么意思 梦见轶闻梦境解析
- 亲爱的自己刘洋离婚了吗 亲爱的自己刘洋离婚原因解析
- 全款买房后还能办公积金贷款吗?怎么办 全款买房后是否能办公积金贷款解析
- 什么时候长智齿 什么时候长智齿的解析
- 家常菜是什么意思?
- 牛油果变色了还能吃吗 牛油果变色是否能吃解析
- 网络推广怎么挣钱,网络推广工作流程
- wav和flac音质有区别吗 wav和flac音质有没有区别
- 移动和电信宽带哪个好,,求解析。。。。。
- 吃完柿子可以喝酸奶吗 吃完柿子是否可以喝酸奶的解析
