1.String类
String类用来描述字符串常量,即值一创建就不能再修改,这就意味着String对象是不可变的。
String类的值是final类型的,意味着其一旦被赋值就不能再修改了,所以其是不可能被继承的。
这里比较==和equal()的区别是:==在比较时是比的内存地址,而equal()比的则是字符串内容。
String类中有一些常用方法如下图所示:
2.StringBuilder类
StringBuilder是一个可变的字符序列,其出现在StringBuffer类之后,和StringBuffer类一样都能被多次修改,并且不产生新的对象,但是和StringBuffer类不同的是StringBuilder更有速度优势,而StringBuffer更具有线程安全性。我们一般经常使用StringBuilder。
StringBuilder的常用方法有:
append():添加字符串到StringBuilder对象末尾;
insert():将字符串或对象添加到指定位置;
remove():从指定索引开始移除指定数量的字符;
replace():用字符来替代指定的字符;
reverse():反转字符串。
3.StringBuffer类
和StringBuilder类似,也是可变字符序列,和其区别是StringBuffer是线程安全的,一般适用于多线程下字符缓冲区进行大量操作的情况下。
其常用方法有:
append():添加字符串到指定字符串末尾。
deleteCharAt():删除指定位置的字符,然后将剩余的内容形成新的字符串。
insert():在StringBuffer对象中插入内容,然后形成新的字符串。
reverse():将StringBuffer对象中的内容反转,然后形成新的字符串。
4.注意
String类对象不能直接转换成StringBuilder对象,只能通过构造方法或apend()方法。
StingBuilder对象转换为String对象,只能通过toString()方法或构造方法。