String類和StringBuffer,StringBuilder
1.String類是一個用來描述字符串的這麼一個類,用String類創建的字符串對象是一個常量,它們的值在創建後就不能更改。
//String類的創建方式:
String s1 = "abc";
String s = new String("abc");
2.StringBuffer和StringBuilder都是是字符串緩衝區,是一個容器,長度是可以變化的,通過某些方法調用可以改變該序列的長度和內容,可以自己操作多個數據類型,最終會通過toString方法輸出字符串。
StringBuffer和StringBuilder除了在線程上不同,其餘都幾乎一樣,StringBuffer是線程同步的,StringBuilder是線程不同步的,所以在線程需要同步的時候我們用StringBuffer,線程不需要同步的時候我們用StringBuilder,因爲StringBuilder的效率更高。
//StringBuffer和StringBuilder的創建方式:
StringBuffer = new StringBuffer ("abc");
StringBuilder= new StringBuilder ("abc");
3.操作String類的方法
//獲取:
int length();//獲取字符串的長度
char charAt(int index); //獲取參數位置的字符
int indexOf(int c(ASCII))//根據字符獲取位置
int indexOf(int c(ASCII),int c指定位置)//根據字符從指定位置開始獲取位置
int lastindexOf(int c)//反方向查找
//獲取子串中的一部分:
String subString(begin);//從bagin開始索引
String subString(begin,end); //從begin到end,含頭不含尾
//判斷:
boolean equalsIguoreCase();//不區分大小寫比較
boolean equals();//判斷兩個字符串的值是否一樣
boolean contains(str);//是否包含一個str子串
boolean isEmpty();//是否有內容
boolean startsWith(str);//是否以str開始
boolean endsWith(str);//是否以str 結尾
//轉換:
//1 將字符數組轉成字符串:
構造函數 String(char[])
String(char[],offset,count);//將一部分轉成字符串
靜態方法 static String copyValueOf(char[]);
static String copyValueOf(char[],offset,count);
static String valueOf(char[]);
//2 將字符串轉換成字符數組:
char[] toCharArray();
//3 將 字節數組 轉成 字符串
String(byte[]);
String(byte[],offset,count);
//4 將 字符串 轉換成 字節數組
byte[] getBytes();
//5 將 基本數據 類型轉換成 字符串
static String valueOf(int);
static String valueOf(double);
//例:String.valueOf(3);
//替換:
String replace(oldchar,newchar);
//切割:
String[] split(切割符);
//轉換大小寫:
String toUpperCase();
String toLowerCase();
//將字符串兩端的空格去掉
String trim();
//對兩個字符進行自然排序的比較
int str1.compareTo(str2);
//返回值是爲0 兩個一樣
//返回值爲正 str1大
//返回值爲負 str2大
4.StringBuffer和StringBuilder的一些常用方法:
//1存儲
StringBuffer append();//將指定數據作爲參數添加到結尾處
StringBuffer insert(inext,數據);//添加到指定位置
//2 刪除
StringBuffer delete(start,end)
StringBuffer deleteCharAt(index);//刪除指定位置的字符
//3 獲取
char charAt(int index)//獲取index位置的字符
int indexOf(String str)//獲取字符串str的位置
int lastIndexOf(String str)//反向獲取str的位置
int length()//獲取長度
String substring(int start,int end)//獲取start位置到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);
//把緩衝區裏的字符串從srcbegin 到 srcEnd 存到 dst 的 dstbegin起始位置
5.String類和StringBuffer,StringBuilder的使用
操作一些不需要被需改的字符串時我們可以使用String類創建對象,如果是需要經常修改的話我們就用StringBuffer或StringBuilder,在線程需要同步的時候我們用StringBuffer,線程不需要同步的時候我們用StringBuilder,因爲StringBuilder的效率更高。