首先要知道,String类的核心是一个数组
我们所写的字符串序列都会放到这个char数组中,且前面有final修饰,所以只能赋值一次。
所以String创建的是不可变字符串序列,不可修改。如果要对其进行修改,只能是新建一个对象,重新赋值。
然后需要注意的是,在进行字符串比较时,要用equals()方法,不能用"=="。
"=="比较的是两个字符串内存地址的数值是否相同,属于数值比较。
equals()比较的是两个字符串的内容,属于内容比较。
而与String类不同,StringBuilder中char数组未用final修饰
所以StringBuilder创建的是可变字符串序列
StringBuilder又有两个子类,StringBuilder和StringBuffer。
其中StringBuilder线程不安全,效率高,而StringBuffer线程安全,但效率低。因为一般情况下不涉及线程安全问题,所以一般使用StringBuilder。
StringBuilder常用的方法有: