2)字符串和字节数组
和字符数组的形容类似
a)用字节创建字符串对象
String (byte [])String (byte[],int offset,int length)b)将字符串转换为字节数组
public byte[] getBytes()例如:
复制代码public class E
{ public static void main(String args[])
{ byte d[]="你我他".getBytes();
System.out.println("数组d的长度是(一个汉字占两个字节):"+d.length);//输出"数组d的长度是(一个汉字占两个字节):6"
String s=new String(d,0,2);
System.out.println(s);//输出"你"
}
}
7.StringBuffer类前面学习了String字符串对象,String类创建的字符串对象是不可修改的,也就是说String字符串不能修改,删除,替换字符串中的某个字符,即String对象一但创建,那么实体是不可以再发生变化的.下面介绍StringBuffer类,该类能创建可修改的字符串序列,也就是说,该类对象的实体的
内存空间可以自动改变大小,便于存放一个可变的字符序列.比如,一个StringBuffer对象调用用append方法可以追加字符序列,例如:
StringBuffer s=new StringBuffer("I love this game");
s.append(" !!");
//s的值就变为I love this game !!1)StringBuffer的构造方法a)StringBuffer()//无参数,可容纳16个字符,可以通过调用capacity()方法获取当前实体的实际容量b)StringBuffer(int size)//指定size大小的容量,当存放大于size时,实体容量自动增加,以便存放所增加的字符c)StringBuffer(String s)//指定实体的初始容量为参数s的长度额外再加16个字符,当超过size大小时,实体容量自动增加,以便存放所增加的字符注意:可以用String(StringBuffer bufferstring)创建一个字符串的对象2)StringBuffer类常用的方法a)append方法//追加字符串,刚刚讲过b)char charAt(int n)//得到第n(n>=0;;n<=s.capacity())个位置的字符c)void setCharAt(int n,char ch)//替换第n个位置的字符d)StringBuffer insert(int index,String str)//再第index的位置插入字符串str,并返回当前对象的e)StringBuffer reverse()//逆置当前对象的实体,并返回当前对象的f)StringBuffer delete(int startIndex,int endIndex)//删除从startIndex~endIndex-1之间的字符串,并返回当前对象的g)StringBuffer replace(int startIndex,int endIndex,String str)//用字符串str替换startIndex~endIndex-1之间的字符串,并返回当前对象的例如:
复制代码class E
{ public static void main(String args[ ])
{ StringBuffer str=new StringBuffer("62791720");
str.insert(0,"010-");//在第0个位置插入010-,当前实体变为"010-62791720"
str.setCharAt(7 ,'8'); //把第8个位置的字符设置为8,当前实体变为"010-62781720"
str.setCharAt(str.length()-1,'7');//把最后一个位置的字符设置为7,当前实体变为"010-62781727"
System.out.println(str); //输出当前实体"010-62781727"
str.append("-446");//追加字符串-446,当前实体变为"010-62781727-446"
System.out.println(str);
str.reverse();//逆置当前实体,实体变为644-72718726-010
System.out.println(str);
}
}