19.String Builder类和StringBuffer类

String Builder类

public final class StringBuilder
extends Object
implements Serializable, CharSequence

StringBuilder类是final修饰的没有子类,不能被继承。
StringBuilder类表示一个可变的字符序列,不保证线程同步。

StringBuilder类的构造方法
  1.StringBuilder()创建一个初始容量为16个字符的空StringBuilder对象。
  2.StringBuilder(String str)创建一个初始值为指定字符串内容的StringBuilder对象。  
  3.StringBuilder(int capacity)创建一个指定初始容量的空StringBuilder对象。

		//StringBuilder()创建一个初始容量为16个字符的空StringBuilder对象。
		StringBuilder str1=new StringBuilder();
		//StringBuilder(String str)创建一个初始值为指定字符串内容的StringBuilder对象。  
		StringBuilder str2=new StringBuilder("hello");
		String  teststr="world";
		StringBuilder str3=new StringBuilder(teststr);
		//StringBuilder(int capacity)创建一个指定初始容量的空StringBuilder对象。
		StringBuilder str4=new StringBuilder(20);

StringBuilder类的常用方法

         1.StringBuilder append(Object o)
                  将参数中指定的数据追加到StringBuilder表示的字符序列的末尾中。
                  append方是重载的,以便接受任何类型的数据,可以有效地将给定的数据转换为字符串。
        2.int capacity()返回当前容量。
        3.char charAt(int index)得到元素字符串中指定位置的字符数据  
        4.StringBuilder delete(int start, int end)删除指定开始位置和指定结束位置之间的子字符串.
        5.StringBuilder deleteCharAt(int index) 删除元素字符串中指定位置上的字符。
        6.int indexOf(String str)得到指定字符串在原始字符串中第一次出现的位置
        7.int lastIndexOf(String str)得到指定字符串在原始字符串中最后一次出现的位置
        8.StringBuilder insert(int index,Object o)将指定的数据插入到原始字符串中指定的位置。
                  insert方是重载的,以便接受任何类型的数据,可以有效地将给定的数据转换为字符串。
        9.int length() 返回长度(字符数)。  
        10.StringBuilder replace(int start, int end, String str)使用指定的字符串替换开始位置和结束位置之间的字符串  
        11.StringBuilder reverse()反转字符串【????】
        12.void setCharAt(int index, char ch)使用指定的字符数据替换原始字符串中指定位置的字符
        13.String substring(int start)从原始字符串的指定开始位置截取到结束之间的子字符串.【String】

        14.String substring(int start, int end)从原始字符串的指定开始位置截取到结束位置之间的子字符串.【String】  
        15.String toString() 将StringBuilder可变字符串转换成String不可变字符串。

	StringBuilder  str1=new StringBuilder();
    str1.append(true);
    str1.append(1001);
	str1.append("hello");
	str1.append(12.5);
	str1.append("hello");
	System.out.println("str1=="+str1);

    System.out.println("str1=="+str1.capacity());

    System.out.println("str1=="+str1.charAt(1));

    System.out.println("str1=="+str1.delete(8,13));

    System.out.println("str1=="+str1.deleteCharAt(15));

    System.out.println("str1=="+str1.indexOf("world"));

    System.out.println("str1=="+str1.lastIndexOf("hello"));


    System.out.println("str1=="+str1.insert(str1.lastIndexOf("1"),"world"));

    System.out.println("str1=="+str1.length());

    int startindex=str1.indexOf("h");

    System.out.println("str1=="+str1.replace(startindex,endindex,"world"));

    System.out.println("str1=="+str1.reverse());

    str1.setCharAt(0,'A');
    System.out.println("str1=="+str1);

    String sunstr=str1.substring(str1.lastIndexOf("1"),str1.lastIndexOf("1")+4);
    System.out.println("sunstr=="+sunstr);

    System.out.println("toString=="+str1.toString());

StringBuilder可变字符串与String不可变字符串转换的转换

StringBuilder可变字符串---》String不可变字符串
         1.StringBuilder的toString()方法
         2.String类的构造方法String(StringBuilder builder)

String不可变字符串---》StringBuilder可变字符串
          StringBuilder类的构造方法StringBuilder(String str)

StringBuffer类

public final class StringBuffer
extends Object
implements Serializable, CharSequence

StringBuffer类是final修饰的没有子类,不能被继承。
StringBuffer类表示一个可变的字符序列,保证线程同步。

StringBuffer类的构造方法
  1.StringBuffer()创建一个初始容量为16个字符的空StringBuffer对象。
  2.StringBuffer(String str)创建一个初始值为指定字符串内容的StringBuffer对象。  
  3.StringBuffer(int capacity)创建一个指定初始容量的空StringBuffer对象。

StringBuffer类的常用方法
1.StringBuffer append(Object o)
  将参数中指定的数据追加到StringBuffer表示的字符序列的末尾中。
  append方是重载的,以便接受任何类型的数据,可以有效地将给定的数据转换为字符串。
2.int capacity()返回当前容量。
3.char charAt(int index)得到元素字符串中指定位置的字符数据  
4.StringBuffer delete(int start, int end)删除指定开始位置和指定结束位置之间的子字符串.
5.StringBuffer deleteCharAt(int index) 删除元素字符串中指定位置上的字符。
6.int indexOf(String str)得到指定字符串在原始字符串中第一次出现的位置
7.int lastIndexOf(String str)得到指定字符串在原始字符串中最后一次出现的位置
8.StringBuffer insert(int index,Object o)将指定的数据插入到原始字符串中指定的位置。
  insert方是重载的,以便接受任何类型的数据,可以有效地将给定的数据转换为字符串。
9.int length() 返回长度(字符数)。  
10.StringBuffer replace(int start, int end, String str)使用指定的字符串替换开始位置和结束位置之间的字符串  
11.StringBuffer reverse()反转字符串【????】
12.void setCharAt(int index, char ch)使用指定的字符数据替换原始字符串中指定位置的字符
13.String substring(int start)从原始字符串的指定开始位置截取到结束之间的子字符串.【String】 14.String substring(int start, int end)从原始字符串的指定开始位置截取到结束位置之间的子字符串.【String】  
15.String toString() 将StringBuffer可变字符串转换成String不可变字符串。

StringBuffer可变字符串与String不可变字符串转换的转换
  
StringBuffer可变字符串---》String不可变字符串
 1.StringBuffer的toString()方法
 2.String类的构造方法 String(StringBuffer buffer)

String不可变字符串---》StringBuffer可变字符串
  StringBuffer类的构造方法StringBuffer(String str)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值