Java基础学习笔记--常用API之StringBuilder类

package com.common.api;

/*
 * 基本介绍
 * 1、StringBuilder 是JDK1.5之后出现的,可替换StringBuilder的API
 * 2、不通点:
 *         1)StringBuilder是线程同步的
 *         2)StringBulder是线程不同步的
 * 3、使用原则:
 *         1)单线程使用StringBuilder,多线程使用StringBuilder
 *         2)单线程使用StringBuilder,不过需要自己去加锁,保持同步
 * 4、以后开发建议使用StringBuilder,StringBuilder拥有更高的效率
 * 
 *Java升级三个要素
 *         1)提高效率
 *         2)简化书写
 *         3)提高安全性
 * 
 * 功能:CURD(Create Update Read Delete)
 *         1)存储
 *             StringBuilder append();将指定的数据作为参数添加到已有数据的结尾处
 *             StringBuilder insert(index,数据);;可以将数据插入到指定index位置
 *         2)删除
 *             StringBuilder delete(int start, int end) 删除缓冲区中的数据,包含start,不包含end
 *             StringBuilder deleteCharAt(int index) 删除指定位置的字符
 *         3)获取
 *             char charAt(int index)  
 *             int indexOf(String str)  
 *             int lastIndexOf(String str) 
 *             int length()   
 *             String substring(int start, int end)  
 *         4)修改
 *             StringBuilder replace(int start, int end, String str)  
 *             void setCharAt(int index, char ch)  
 *         5)反转
 *             StringBuilder reverse()  
 *         6) 缓存区指定数据存储到指定字符数组中
 *             void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
 */
public class StringBuilderDemo {

    public static void sop(Object obj)
    {
        System.out.println(obj);
    }
    
    public static void method_update()
    {
        StringBuilder sb=new StringBuilder("abcde");
        sb.replace(1,4,"java");
        sop(sb.toString());
        sb.setCharAt(0, 'A');
        sop(sb.toString());
    }
    public static void method_add()
    {
        StringBuilder sb=new StringBuilder();
        sb.append(23).append(true).append(45);
        sop(sb.toString());
        sb.insert(2, "kk");
        sop(sb.toString());
    }
    
    public static void method_del()
    {
        StringBuilder sb=new StringBuilder("abcde");
        sop(sb.toString());
        sb.delete(1, 3);
        sop(sb.toString());
        sb.deleteCharAt(2);
        sop(sb.toString());
        //清空缓存区
        sb.delete(0, sb.length());
        sop("清空缓冲区后结果为:"+sb.toString());
    }
    
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        method_add();
        
        method_del();
        
        method_update();
        
        StringBuilder sb=new StringBuilder("abcdefg");
        char[] chs=new char[4];
        sb.getChars(1, 4, chs, 1);
        for(int i=0;i<chs.length;i++)
        {
            System.out.printf("chs[%d]=%s ",i,chs[i]);
        }
    }
}

执行结果如下:

23true45
23kktrue45
abcde
ade
ad
清空缓冲区后结果为:
ajavae
Ajavae
chs[0]=   chs[1]=b chs[2]=c chs[3]=d 

  

猜你喜欢

转载自www.cnblogs.com/redrose2100/p/12422151.html