java基础/StringbBuffer/StringBuilder

来源:互联网 发布:白金数据观后感 编辑:程序博客网 时间:2024/06/05 09:11


string的长度和内容不可变,StringBuffer的长度和内容可变.



如果超过capacity,则会自动扩充capacity;


上面的结果:无(stringBuffer重写了父类方法,没重写的时候回打印出地址)-----16(如果没有指定容量就默认16)-----0(实际长度是0);

                   无-----------50----------------0(实际长度是0);

                   hello--------21(16+5)------5(实际长度);

StringBUffer添加字符串不重新开辟空间,在原有的空间中添加;


添加功能--append/inset方法:






字符串反转:


字符串截取:注意这里的返回值是String,不在是StringBuffer本身了


String和StringBuffer相互转换:



String s =" ";  s+="aa";这样每次拼接都会新开空间.用StringBuffer再用append拼接就不会重新开空间,拼接完后返回的还是以前的空间;

用StringBuffer拼接字符串再转成String与直接用String拼接字符串



字符串反转实例:




判断字符串是否对称:


如果字符串反转前后相等,说明字符串是对称的;



=====================

StringBuilder在单线程中用来代替StringBuffer,在多线程中他是不安全的,所以一般只用在单线程中;

String和StringBuffer作为形式参数:


0 0