对于string对象,以下为常用的一些方法
前提母字符串
String s="Hello World, my name is Lay!";
提取子字符串
String s2=s.substring(5,7); //首地址和长度
提取字符
在String对象中不能用s[i]的方式去查找某个字符,必须转化成char类型
char c=s.charAt(2);//提取第二个字符
字符串转化为字符数组
char[] c1=s.toCharArray();
字符串连接
String str1="you";
String str2=" welcome";
System.out.println(str1.concat(str2));
比较两个字符串是否相等
str.equals(str1):
字符串的索引和查找
public static void main(String[] args)
{
String str="写程序很有趣,真的很有趣";
System.out.println(str.indexOf("有趣")); //检索“有趣”这个字符串在字符串中所处的位置
System.out.println(str.indexOf('程')); //检索“程”这个字符在字符串中所处的位置
System.out.println(str.lastIndexOf("有趣"));//检索“有趣”这个字符串在字符串中所处的位置
System.out.println(str.lastIndexOf('我'));//检索“我”这个字符在字符串中所处的位置,不存在则返回-1
System.out.println(str.endsWith("趣"));//检索字符串结尾是否是以“趣”结束
System.out.println(str.startsWith("写"));//判断字符串是否是以“写”开始
}
结果:
4
1
10
-1
true
true
由于string是字符串常量,是不允许修改的,stringBuffer是缓冲字符串,属于字符串变量,是可以修改使用,而且她的长度可以自动加长
append()方法
StringBuffer sb=new StringBuffer("小明是一个优秀");
sb.append("的程序员");
System.out.println(sb);
setLength()方法
可以限制缓冲字符串的长度,使其不能自动变长
StringBuffer sb=new StringBuffer("小明是一个优秀");
sb.append("的程序员");
sb.setLength(3);
System.out.println(sb);
setCharAt()将指定的元素替换新字符
StringBuffer sb=new StringBuffer("小明是一个优秀程序员");
sb.setCharAt(0,'张');
System.out.println(sb);
reverse()方法
翻转字符串
StringBuffer st=new StringBuffer("我是一个程序员");
System.out.println(st.reverse());