java基础-String、StringBuffer、StringBuilder
java基础小白,初学java,希望能将自己学习的东西一点一滴记录下来,希望大神多批评指正。
一、小结两句
1、String为字符串常量,是不可变的,除非“换”一个字符常量;StringBuffer和StringBuilder是字符串变量,是可变的,可以直接修改。
2、运行速度:StringBuilder>StringBuffer>String。
3、StringBuilder是线程不安全的,StringBuffer线程安全,方法带有synchronized关键字。
二、String
罗列几点关注的点:
1、String类中定义了一个字符数组value[]用于存放字符。该数组用于比较、计算长度、转换等作用。
2、String类重写了Object的equal方法,如果引用相等,或者字符串的内容相等,则都返回true,否则返回false;
三、StringBuffer和StringBuilder
罗列自己看的几点
1、StringBuffer类中除构造方法外,大多数方法都带synchronized关键字,所以是线程安全的,StringBuilder非线程安全,所以在多线程并发的情况下,使用StringBuffer。
2、StringBuffer类的toString方法,其实就是新建一个String类,将内容传入该类并返回。
四、补充
String str = “abc”,str = str + “de”,这个过程,在jvm中其实创建了三个字符串常量,“abc”,“de”,“abcde”。