String、StringBufer、StringBuilder

1.String
    (1)Java语言中的字符串值属于String类,虽然有其它方法表示字符串(如字符数组),但Java一般使用String类作为字符串的标准格式,Java编译器把字符串值作为String对象。
    (2)String对象一旦创建就不能改变了(因为字符串是常量)。如果需要进行大量的字符串修改操作,应该使用StringBuffer、StringBuilder或者字符数组,最终结果可以转换成
String对象。
2.StringBuffer
    StringBufer是动态字符串,为线程安全的可变字符序列。即StringBuffer所构造出来的字符串是可以被修改的,而线程安全就是StringBuffer这个类构造出来的字符串同时只能有一个
线程操作。它是一个类似于String的字符串缓冲区,通过某些方法调用可以改变该序列的长度和内容(这个字符串缓冲区就是一个字符数组)每个字符串缓冲区都有一定的容量,只要字符串缓冲
区所包含的字符序列的长度没有超出此容量,就无需分配新的内部缓冲区数组,如果内部缓冲区溢出,则此容量自动增大。
3.StringBuilder
    它是专门为单线程所设计的动态字符串,从JDK1.5开始,为StringBuffer类补充了一个单线程使用的等价类,即StringBuilder.与StringBuffer相比,通常应该优先使用StringBuilder
类,因为它支持所有相同的操作,但由于它不执行同步,所以速度更快。
    常用方法:
    public int length():返回容量中字符的个数
    public int capacity():返回字符数组的容量
    public StringBuffer append(String str):向数组中添加一个字符串或字符
    public StringBuffer insert(int offSet, String str):在指定位置插入字符串
    public StringBuffer reverse():字符反转,如:abc-->cba
    public Sting toString():将字符数组中的字符串转换成对应的字符串常量
public class Demo {
public static void main(String[] args) {
//StringBuilder sb  = "abc"; // 无此种声明方式
StringBuilder sb = new StringBuilder();
sb.append("hello");
sb.append(1);
sb.append(1.5);
sb.append(true);
// 容量中的字符串中的个数
System.out.println(sb.length());
// 字符数组的容量大小,默认值为16
System.out.println(sb.capacity());

sb.insert(5, "world");
// 以字符串形式输出
System.out.println(sb.toString()); 

sb.replace(5, 7, "xxx");
System.out.println(sb.toString());

System.out.println(sb.reverse());
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值