String类在Java的使用中有着非常重要的作用,现在对于String类做一个总结:
提到String类就不得不提到StringBuffer类,有两种类型的字符串,一种是创建后不需要改变的,称为字符串常量,String类用于存储字符串常量。另一种是创建后需要对其进行改变的,称为字符串变量,StringBuffer用于存储字符串变量。
先来看看String类:
String类有11种构造方法,都是根据提供的不同参数来构造。下面举几个例子:
public class init {
public static void main(String[] args) {
StringBuffer s2=new StringBuffer("HI!");
char []s3={'H','E','L','L','O','!'};
String s1=new String();
String s4 ="HELLO WORLD!";
String s5=new String(s3);
String s6=new String(s2);
System.out.println(s1);
System.out.println(s4);
System.out.println(s5);
System.out.println(s6);
}
}
输出结果为:
HELLO WORLD!
HELLO!
HI!
可以看出:
String s6 ="HELLO WORLD!";
String s6 =new String("HELLO WORLD!");
两种声明方式都一样。
可以看到String类也用到了New这就和数组有点类似,说明s1也只是管理者并不代表字符串本身。
接下来总结一下String的一些方法:
- s.length()返回字符串字符的个数
- s.compareTo(s2)比较两个字符串的大小
- s.equals(“HI”)s是否于后面HI相同
- s.concat("HI")在s的后面加上HI这个与s+"HI";效果相同
- s.charAt(2)返回序号为二的那个字符
- s.substring(n)得到从n位开始到结尾的全部内容为子串
- s.substring(b,e)得到从b号位置到e号之前的位置为子串
- s.indexOf(c)返回c所在位置 -1表示不存在
- s.indexOf(c,n)从n号位置开始找c字符
- s.indexOf(s)找到字符串s所在的位置
- s.lastIndexOf(c)从右边算起字符C的位置
- s.lastIndexOf(c,n)从右边n号位置开始找c字符
- s.lastIndexOf(s)从右边找到字符串s所在的位置
- s.startsWith(c)是不是以C开头
- s.endsWith(c)是不是以C结尾
- s.trim()删字符串两端的空格
- s.replace(c1,c2)所有的c1替换成c2
- s.toLowerCase()转换成小写
- s.toUpperCase()转换成大写
需要注意的是由于String类存储的是字符串常量不能更改,所以上述改变字符串的方法不能直接改变本身。
String s1=s.toLowerCase;
下面是一个例子
public class pra {
public static void main(String[] args) {
String s1=" HELLO EVERYONE! ";
String s2="HAHAHA!";
String s3=s1+s2;
String s4=s1.concat(s2);
String s5=s1.trim();
String s6=s1.toLowerCase();
String s7=s3.substring(2);
String s8=s3.substring(2,8);
System.out.println(s1.length());
System.out.println(s3);
System.out.println(s4);
System.out.println(s5);
System.out.println(s6);
System.out.println(s1.indexOf('E'));//序号从0开始
System.out.println(s1.indexOf('E',4));//要算这一位
System.out.println(s1.lastIndexOf('E'));
System.out.println(s1.indexOf("ONE"));
System.out.println(s1.indexOf('E'));
System.out.println(s7);
System.out.println(s8);
}
}
输出结果为:
19
HELLO EVERYONE! HAHAHA!
HELLO EVERYONE! HAHAHA!
HELLO EVERYONE!
hello everyone!
3
8
15
13
3
HELLO EVERYONE! HAHAHA!
HELLO
最后String本身有很多方法可以使用,这里附上API文件: