一、方法概述
StringBuilder的append()方法是用于将指定的字符串追加到此字符序列的末尾。该方法是StringBuilder类最为常用的方法之一。
//方法签名 public StringBuilder append(String str)
二、方法参数
该方法只接受一个字符串参数:
- str:要添加到当前字符序列中的字符串。
三、方法返回值
该方法返回一个指向调用此方法的StringBuilder对象的引用。
四、方法示例
StringBuilder sb = new StringBuilder("This is a test!"); sb.append(" This is the second test."); System.out.println(sb.toString());
输出结果:This is a test! This is the second test.
五、方法详解
1、追加字符串
append()方法最基本的功能是将指定的字符串添加到调用此方法的StringBuilder对象的末尾。
StringBuilder sb = new StringBuilder("Hello"); sb.append(" World"); System.out.println(sb.toString());
输出结果:Hello World
2、追加指定类型的字符串
除了追加String类型的字符串以外,append()方法还可以追加int、double、char等类型的字符串。
//追加int类型的字符串 StringBuilder sb = new StringBuilder("Age: "); int age = 18; sb.append(age); System.out.println(sb.toString()); //追加double类型的字符串 sb = new StringBuilder("Price: "); double price = 25.50; sb.append(price); System.out.println(sb.toString()); //追加char类型的字符串 sb = new StringBuilder("First letter: "); char letter = 'A'; sb.append(letter); System.out.println(sb.toString());
输出结果:
Age: 18
Price: 25.5
First letter: A
3、连续追加多个字符串
append()方法支持连续追加多个字符串。
StringBuilder sb = new StringBuilder("Hello"); sb.append(" ").append("World").append("!"); System.out.println(sb.toString());
输出结果:Hello World!
4、追加字符串部分内容
append()方法还支持只追加字符串的一部分内容。
StringBuilder sb = new StringBuilder("Hello World!"); sb.append(" World", 0, 5); System.out.println(sb.toString());
输出结果:Hello World World
5、追加对象
append()方法还可以用来追加任意类型的对象,因为它会调用该对象的toString()方法来返回一个字符串并将其追加到StringBuilder对象的末尾。
StringBuilder sb = new StringBuilder("Person: "); Person person = new Person("小明", 18); sb.append(person); System.out.println(sb.toString());
输出结果:Person: Person{name='小明', age=18}
6、链式调用
append()方法支持链式调用,使得代码更加简洁易读。
StringBuilder sb = new StringBuilder("Hello").append(" World").append("!"); System.out.println(sb.toString());
输出结果:Hello World!
六、方法注意事项
在使用append()方法时,需要注意以下几点:
- StringBuilder对象的初始容量不够时,会进行自动扩容,但过大的StringBuilder对象会占用过多的内存。
- 建议在追加大量字符串时使用append()方法,而不是使用"+"连接符,因为"+"连接符会创建大量的中间字符串,导致效率低下。
- 最好将StringBuilder对象声明为局部变量,而不是全局变量,因为多线程访问全局变量可能会出现线程安全问题。
七、总结
通过本篇文章的介绍,我们详细了解了StringBuilder的append()方法的使用方法以及注意事项。在实际开发中,我们应该根据具体情况选择使用StringBuilder的append()方法来优化代码。