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
3. 字符数组和StringBuffer的相互转化:
1、将StringBuffer转换成字符数组
在Java中不支持直接从StringBuffer转换成字符数组。而是先将StringBuffer转换成String,
然后由String调用toCharArray函数转换成字符数组。
StringBuffer stringBuffer = new StringBuffer(“Hello World.”);String str = stringBuffer.toString();// 先将StringBuffer对象转换成String对象char[] ch = str.toCharArray();// 再调用String对象的toCharArray函数转换成字符数组
2、将字符数组转换成StringBuffer
与将StringBuffer转换成字符数组类似,需要先将字符数组转换成String,然后再由String转换成StringBuffer。
char[] data = {'H', 'e', 'l','l', 'o', 'd'};String str = new String();//或者直接调用构造方法:String str = new String(data);str = String.valueOf(data);//调用String类的valueOf函数将字符数组转换成StringStringBuffer 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(目标开始位)