目录
一、String类
String类带代表的是字符串,他的类源码是final修饰的,在创建后他的值就不能被修改了,字符串缓冲区支持可变字符串,因为String对象是不可变的,他们可以被共享,String通过ne创建字符串对象,每一次new都会申请一个内存空间,虽然内容相同,但是地址不同,一双引号方式给出的字符串,只要字符序列相同(顺序和大小),无论在代码中出现几次,jvm都只会建立一个String对象。
二、StringBuilder类
StringBuilder是一个可变的字符串类,我们可以把它看做是一个容器,这里的可变值的是StringBuilder对象中的内容是可变的。
三、两者的区别
String的值不可变,StringBuilder的值是可变的,String每赋予一个值都会产生新的地址,而StringBuilder是在原有地址上一直更改,节省了大量的空间,这也代表了他的运行速度更快。
String:适用于少量的字符串操作
StringBuilder:适用于需要对字符串进行修改的情况