JAVA基础——API(StringBuffer)

来源:互联网 发布:数据中心网络布线方式 编辑:程序博客网 时间:2024/05/16 07:55
StringBuffer是字符串缓冲区。


是一个容器。
特点:
1,长度是可变化的。
2,可以直接操作多个数据类型。

3,最终会通过toString方法变成字符串。


1,添加插入。
StringBuffer append():将指定数据作为参数添加到已有数据结尾处。
StringBuffer insert(index,数据):可以将数据插入到指定index位置。




2,删除。
StringBuffer delete(start,end):删除缓冲区中的数据,包含start,不包含end。
StringBuffer deleteCharAt(index):删除指定位置的字符。

3,获取。
char charAt(int index) 
int indexOf(String str) 
int lastIndexOf(String str) 
int length() 
String substring(int start, int end) 
 
4,修改。
StringBuffer replace(start,end,string);
void setCharAt(int index, char ch) ;




5,反转。
StringBuffer reverse();
 
6,
将缓冲区中指定数据存储到指定字符数组中。
void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) 



JDK1.5 版本之后出现了StringBuilder.


StringBuffer是线程同步。
StringBuilder是线程不同步。


以后开发,建议使用StringBuilder


升级三个因素:
1,提高效率。
2,简化书写。
3,提高安全性。



测试:

class StringBufferDemo {public static void sop(Object obj){System.out.println(obj);}public static void StringBuffer_add() {StringBuffer sb=new StringBuffer("abc");sb.append("def"+true+123); //abcdeftrue123sop(sb);//sop(sb.toString());sb.insert(1,"JAVA"); //aJAVAbcdeftrue123sop(sb);}public static void StringBuffer_del(){StringBuffer sb=new StringBuffer("abcef");sb.delete(1,2);//acef 包含头不包含尾sop(sb);sb.deleteCharAt(2); //acfsop(sb);}public static void StringBuffer_get(){StringBuffer sb=new StringBuffer("abcdecf");sop(sb.charAt(2)); //csop(sb.indexOf("c")); //2sop(sb.lastIndexOf("c")); //5}public static void StringBuffer_updata(){StringBuffer sb =new StringBuffer("abcdef");sb.replace(2,4,"Java"); //abJavaefsop(sb);String s=sb.substring(2,6); //Javasop(s);//将缓冲区中指定数据存储到指定字符数组中。//void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)char[] arr =new char[5];StringBuffer sb1=new StringBuffer("abcd");sb1.getChars(0,3,arr,1);for(int x=0;x<5;x++)sop(arr[x]);}public static void main(String[] args) {StringBuffer_updata();}}


0 0
原创粉丝点击