文章目录
String的对象不可变, StringBuffer和 StringBuilder的对象是可变的,而StringBuilder是StringBuilder改进后的一个类,两者的方法是差不多的,因此我们这里主要记录下学习String和StringBuilde类中的方法。
补充事项:String和StringBuilder之间的转换
public class Demo {
public static void main(String[] args) {
String s="hello java";
StringBuilder sb=new StringBuilder(s); //将String类型转换为StringBuilder类型
String ss=sb.toString(); //将StringBuilder类型转换为String类型
}
}
String中的方法
1.intern() 转换地址
该方法中无参数,作用是将变量的地址指向常量池。当一个变量的赋值里不全都是常量("")的时候,这个变量指向堆内存,而intern()的使用能让该变量指向常量池。
示例:
String s1 = "hello";
String s2 = "world";
String s3 = "hello" + "world";
String s4=s1+"world";
String s5=s1+s2;
String s6=(s1+s2).intern();
System.out.println(s3==s4);//false
System.out.println(s3==s5);//false
System.out.println(s4==s5);//false
System.out.println(s3==s6);//true
s3和s6都是"helloworld",但是s3指向了常量池,s6在intern之前是指向的一个对象,而intern方法的使用,使s6指向了常量池。
2.split(String a) 分割
该方法中有参数,参数为String类型,以参数为分割线,将字符串分成一个个字符串,并返回字符串数组。
示例:
String s="hello,world,hello,java";
String[] ss=s.split(",");
System.out.print(ss[0]+" ");
System.out.print(ss[1]+" ");
System.out.print(ss[2]+" ");
System.out.print(ss[3]+" ");
//hello world hello java
以","为分隔符,将字符串分隔开。
3.substring() 截取
该方法中有参数,参数为int 类型,参数有两种情况:(1)有一个参数,该参数为索引值,截取以该参数为索引值开始的字符串,并返回给对象。(2)有两个参数,一个为初始位置的索引值,一个为结束值后面一位的索引值,截取该段间的字符串,返回给对象。
示例:
String s="hello world";
String ss=s.substring(0,5);
//hello
上图截取了第1位至第5位的字符串并返回给ss。
4.toUpperCase() 转换成大写
该方法无参数,用于将String所有字符转换为大写字母
示例:
String s="hello world";
String ss=s.toUpperCase();
//HELLO WORLD
5.trim() 去掉空格
该方法无参数,用于去掉字符串左右两边的空格
示例:
String s=" hello world ";
String ss=s.trim();
//hello world
StringBuilding中的方法
1.append() 添加
该方法有参数,参数为任意类型,添加参数到对象中。
示例:
StringBuilder s=new StringBuilder();
s.append("hello");
System.out.println(s);
//hello
s.append(2021);
System.out.println(s);
//hello2021
2.reverse() 反转
该方法无参数,返回相反的参数序列。
示例:
StringBuilder s=new StringBuilder();
s.append("hello world");
s.reverse();
System.out.println(s);
//dlrow olleh
3.length() 长度
该方法无参数,返回对象的长度,存储实际值
示例:
StringBuilder s=new StringBuilder();
s.append("hello world");
System.out.println(s.length());
//11
4.toString() 转换
该方法无参数,返回String类型,通过该方法,可以实现将StringBuilder类型转换为String类型。
示例:
StringBuilder s=new StringBuilder();
s.append("hello world");
String ss=s.toString();
System.out.println(ss);
//hello world
s的类型本来是StringBuilder,ss的类型是String,使用toString方法将s的值赋给ss。