二、字符串类


1.String类
1>用于描述字符串事物,提供了多种对字符串的操作方法
注意:
a.字符串是一个特殊的对象,一旦被初始化之后将不能发生改变
b.字符串常量对象存储在常量池中,但是,使用构造方法new出来的字符串对象存储在堆空间中
2>字符串的使用


2.StringBuffer类
是一个字符串缓冲区,是一个装字符串的容器
String类只能获取,判断,涉及到的替换以及拼接返回的结果相当于是一个新的字符串,并不是在原来的字符串的基础上修改的【字符串一旦被初始化将不能发生改变】

特点:
a.可以对字符串进行增删的操作
b.字符串的长度是可变的
c.直接操作多种数据类型
d.最终可以通过toString转换为String类型


总结:
String类和StringBuffer之间的区别
相同点:都是用来操作字符串的
不同点:String的效率低【String每拼接一次,都会创建一个新的字符串,需要在内存中开辟新的空间】
StringBuffer效率高,在原有字符串的基础上进行操作,从头到尾在内存中开辟了一块空间,占用空间小


3.StringBuilder类
StringBuilder是JDK1.5新增的

StringBuffer和StringBuilder二者之间的区别:
a.相同点:都是可变字符序列,都可以操作字符串
b.StringBuffer是线程同步的【线程是安全的】,Stringbuilder是线程不同的【线程不安全】
c.StringBuffer效率相对低,StringBuilder效率相对较高

推荐:多线程使用StringBuffer,单线程使用StringBuilder

原文地址:https://www.cnblogs.com/lsp-lsp/p/7343979.html