相信大家对这几个都了解过,但是具体有什么区别还是不知道,下面给你们解释他们的不同。
1.String
因为String是不可变的,所以String是线程安全的。
2.StringBuilder
StringBuilder是可变的,它是线程不安全的,但是他的效率很高。
2.1.适用情况
1.拼接字符串
2.反转字符串
3.StringBuffer
和StringBuilder相比最大的区别就是,这个是线程安全的,效率会比StringBuilder低一点。
4.StringJoiner
这个是在java8中才进行引用的,因为很新,所以用的人很少,但是他的作用也是拼接字符串,但是他的作用比上述大。下面我就简单介绍一下。
StringJoiner两个构造方法:
1.public StringJoiner(间隔符号)
StringJoiner sj=new StringJoiner("----");
结果就是1---2---3;
2.public StringJoiner(间隔符号,开始符号,结束符号)
StringJoiner sj=new StringJoiner(",","[","]");
结果是[1,2,3]
5.总结
所以在合适的时候使用合适的类会有意想不到的结果。