package hello; import java.util.Scanner; public class 實驗五 { public static void main(String[] args) { // TODO Auto-generated method stub char cc[]={'a','b','c','d','e','f'}; //將字符串數組轉成string String s1 =String.copyValueOf(cc); System.out.println(s1); //將string轉成StringBuffer StringBuffer s2 = new StringBuffer(s1); //在1這個位置插入z s2.insert(1, 'z'); System.out.println(s2); //把第0個位置換成x s2.replace(0, 1, "x"); System.out.println(s2); //將StringBuffer轉成String String s3 = s2.toString(); System.out.println(s3.toUpperCase()); } }
1. String和StringBuffer的相互轉化:
String s1 ="cjs_hhh"; System.out.println("String "+s1); //將string轉成StringBuffer StringBuffer s2 = new StringBuffer(s1); System.out.println("StringBuffer "+s1); //將StringBuffer轉成String String s3 = s2.toString(); System.out.println("String "+s3);
2. 字符數組和String的相互轉化:
char cc[]={'a','b','c','d','e','f'}; //將字符串數組轉成string String s1 =String.copyValueOf(cc); System.out.println("String "+s1); //將string轉成字符串數組 char c[]=s1.toCharArray(); for(int i=0;i<c.length;i++) { System.out.print(c[i]); }
3. 字符數組和StringBuffer的相互轉化:
StringBuffer stringBuffer = new StringBuffer(“Hello World.”); String str = stringBuffer.toString();// 先將StringBuffer對象轉換成String對象 char[] ch = str.toCharArray();// 再調用String對象的toCharArray函數轉換成字符數組
char[] data = {'H', 'e', 'l','l', 'o', 'd'}; String str = new String();//或者直接調用構造方法:String str = new String(data); str = String.valueOf(data);//調用String類的valueOf函數將字符數組轉換成String StringBuffer buffer = new StringBuffer(); buffer = buffer.append(str);//調用append函數將String轉換成Stringbuffer
4.StringBuffer的一些方法
StringBuffer是字符串緩沖區,是一個容器。
1、長度是可變化的;(數組長度不變)
2、可以操作多個數據類型;
3、最終會通過toString方法變成字符串。
1、添加。
StringBuffer append(); //將指定數據作為參數添加到已有數據結尾處
StringBuffer insert(index,數據); //可以將數據插入到指定index位置
2、刪除。
StringBuffer delete(start,end); //刪除緩沖區中的數據,包含start,不包含end
StringBuffer deleteCharAt(index); //刪除指定位置的字符
3、修改。
StringBuffer replace(start,end,string); //用string字符串替換原有字符串中的數據,包含start,不包含end
void setCharAt(int index,char ch); //用ch字符替換指定位置的字符(注意:void沒有返回值)
4、獲取。
char charAt(int index); //根據角標獲取
int indexOf(String str); //根據字符串獲取位置
int lastIndexOf(String str); //如果出現字符串參數一次或多次,則返回最后一個這樣的字符串的第一個字符的索引返回
int length(); //獲取長度
String substring(int start,int end); //獲取子字符串,包含start,不包含end(注意:訪問的是String,不是StringBuffer)
5、反轉。
StringBuffer reverse(); //返回StringBuffer對象的顛倒順序
6、將緩沖區中指定數據存儲到指定數組中。
void getChars(int scrBegin,int scrEnd,char[] dst,int dstBegin); //scrBegin(源開始位),dstBegin(目標開始位)