Java语言的java.lang包中提供了三个字符串类:String类、StringBuffer类和StringBuilder类。String类是不可变的字符串,StringBuffer类和StringBuilder类是可变的字符串。这三种字符串都是16位的Unicode字符序列,且都被声明为final,不能被继承。
String类
创建字符串:
String()方法。创建一个空字符串对象。例如:
String(String original)方法。用一个已经创建的字符串创建另一个字符串对象,相当于复制字符串。
String(char value[])方法。用一个字符数组创建一个字符串对象。例如:
String(StringBuffer buffer)方法。用StringBuffer对象创建一个字符序列可以改变的字符串对象。
获取字符串的长度
利用String类中的length()方法可以获得指定字符串长度。例如:
那么a的值为s字符串的长度(包含空格)是15,b的值为k字符串的长度(包含空格)是21。
字符串的比较
equals()方法和equalsIgnoreCase()方法equals()方法可以比较两个对象实例是否相同,返回true或者false;equalsIgnoreCase()方法与equals()方法类似,只是在比较字符串忽略大小写。
实例:
compareTo()和compareToIgnoreCase()方法,将两个字符串按其对应的Unicode码进行比较。前者区分大小写,后者不区分大小写。当遇到第一个不相同字符时候,则将对应字符差值作为比较结果。为正数,则前面的大,为0则相同,为负数则后面小。
字符串的连接
"+"运算符。使用"+"将两个字符串连接成一个新的字符串。
concat()方法。将当前字符串对象与给定字符串连接起来。语法格式为:str1.concat(String str2)。
字符连接举例:
StringBuffer类
String类对象实现的是一种不能改变的静态字符串,一旦创建对象就不能修改其内容。StringBuffer类是一种动态可改变的字符串,对一个字符序列进行插入、删除等操作,更方便不用产生新的对象。
5.1 StringBuffer类对象构造方法。
StringBuffer类对象初始化需要使用构造方法:
Public StringBuffer()方法:创建一个没有字符的字符串缓冲区,初始容量为16个字符。
Public StringBuffer(int length)方法:创建一个长度为length的没有字符的字符缓冲区。
publicStringBuffer(String str)方法:用一个已有字符串str创建一个字符串缓冲区,另外再分配16个字符的缓冲区。
5.2 修改StringBuffer类对象
(1)public StringBuffer append(String str)方法:将字符串str连接当前字符串尾。
(2)public StringBuffer insert(int offset,String str)方法:将当前字符串str插入指定位置,字符串位置从0开始。
(3)public StringBuffer delete(int start,int end)方法:删除当前字符串从指定位置start开始到end(不包括end)之间字符。
(4) public StringBuffer replace(int start,int end,String str)方法:用字符串str代替从start到end(不包括end)之间字符。
(5)public StringBuffer reverse()方法:将字符串序列变成倒序。
(6)public StringBuffer deleteCharAt(int index)方法:删除指定位置字符。
举例:
5.3 StringBuffer类对象转换成String类对象
StringBuffer类提供一个字符串的转换方法:toString(),调用该方法转换成字符序列不能改变的String对象。