1.为什么学习Xtringbuilder?
如果说我们用以前的方式来拼接100万个字符串,如下所示:
public class Test {
public static void main(String[] args) {
String s = "";
for (int i = 0; i < 1000000; i++) {
s = s + "abc";
}
System.out.println(s);
}
}
代码也能写,但运行起来之后速度非常非常慢那这肯定不是我们想要的。我们肯定想要速度比较快,所以我们可以使用Stringbuilder来开始拼接。
public class Test {
public static void main(String[] args) {
StringBuilder s = new StringBuilder("");
for (int i = 0; i < 1000000; i++) {
s.append("abc");
}
System.out.println(s);
}
}
这样可以大幅提升我们的运行速度
2.什么是Stringbuilder?
Stringbuilder概述:Stringbuilder可以看成是一个容器,创建之后里面的内容是可变的,
作用是提高字符串的操作效率。
3.Stringbuilder构造方法
用空参构造创建的Stringbuilder对象容器里面什么都没有
用有参构造创建的时候括号里面传递的参数就是容器里的初始值,例如"abc"。
4.Stringbuilder常用方法
(1)append方法(可以拼接多种类型的数据)
public class Test {
public static void main(String[] args) {
StringBuilder s = new StringBuilder();
s.append("abc");
s.append(100);
s.append(true);
System.out.println(s);
}
}
输出结果为:abc100true
(2)reverse方法
public class Test {
public static void main(String[] args) {
StringBuilder s = new StringBuilder("abc");
s.reverse();
System.out.println(s);
}
}
输出结果为:cba
(3)length方法
public class Test {
public static void main(String[] args) {
StringBuilder s = new StringBuilder("abc");
int len=s.length();
System.out.println(len);
}
}
输出结果为:3
(4)toString方法
public class Test {
public static void main(String[] args) {
StringBuilder s = new StringBuilder("abc");
String str=s.toString();
System.out.println(str);
}
}
注意:我们先前创建的s对象是Stringbuilder类型,只是一个容器来帮助我们操作字符串的工具,所以在我们拼接完字符串后还需要再把Stringbuilder变回字符串对象。