String字符串常用的方法
1.charAt()
String s="abcde";
char c=s.charAt(1);//获取字符串下标为1的字符
System.out.println(c);//b
2.compareTo()
String s1="abcde";
String s="abcde";
int a=s.compareTo(s1);//比较两个字符串的大小(根据ASCLL)
System.out.println(a);//结果:0(0是相等,-1小于,1大于)
3.toUpperCase()和toLowerCase()
String s="abcde";
s.toUpperCase();//将字符串中的小写字符转换为大写
s.toLowerCase();//将字符串中的大写字符转换为小写
4.concat()
String s="abcde";
String s2=s.concat(s);//连接字符串
System.out.println(s2);//"abcdeabcde";
5.contains()
String s="abcde";
boolean b=s.contains("e");//判断字符串中是否包含字符串“e”
System.out.println(b);//true
6.endsWith()
String s="abcde";
boolean b2=s.endsWith("e");//判断字符串是否以“e”结尾
System.out.println(b2);//true
7.startsWith()
String s="abcdae";
boolean b3=s.startsWith("a",4);//判断字符串是否以“a”开头,从下标为4判断
System.out.println(b3);//true
8.startsWith()
String s="abcdae";
boolean b4=s.startsWith("a");//判断字符串是否以“a”开头
System.out.println(b4);//true
9.lastIndexOf()
String s="abcdbae";
//以s.length()-1向前找字符串“b”的下标
int a2=s.lastIndexOf("b", s.length()-1);
System.out.println(a2);//4
//没找到返回-1
10.lastIndexOf()
String s="abcde";
int a3=s.lastIndexOf("a");//从后向前找字符串“a”的下标
System.out.println(a3);//0
11.indexOf()
String s="abcde";
int a4=s.indexOf("a");//返回指定字符串第一次出现的位置
System.out.println(a4);//0
12.indexOf()
String s="abcade";
int a5=s.indexOf("a", 3);//从指定位置返回指定字符串第一次出现的位置
System.out.println(a5);//3
13.length()
String s="abcade";
int a6=s.length();//输出字符串的长度
System.out.println(a6);//6
14.copyValueOf()
char[] t= {'a','b','c','d'};
String re=String.copyValueOf(t);//将字符数组转换成字符串
System.out.println(re);//abcd
15.copyValueOf()
char[] t1= {'a','b','c','d'};
//从下标为1复制3个字符将其转换成字符串
String re1=String.copyValueOf(t1, 1, 3);
System.out.println(re1);//bcd
16.equals()
String s="abcde";
boolean b5=s.equals("q");//判断字符串s和“q”是否相等
System.out.println(b5);//false
17.equalsIgnoreCase()
String s="abcde";
boolean b6=s.equalsIgnoreCase("q");//判断字符串s和“q”是否相等忽略大小写
System.out.println(b6);//false
18.getBytes()
String s="abcde";
byte[] by=s.getBytes();//将字符串转换为字节数组
System.out.println(Arrays.toString(by));
//[97, 98, 99, 100, 98, 97, 101]
19.hashCode()
String s="abcde";
int a7=s.hashCode();//获取字符串的hashCode值
System.out.println(a7);
//-1206294396
20.isEmpty()
String s="abcde";
boolean bb1=s.isEmpty();//判断字符串是否为空字符串
System.out.println(bb1);//false
21.valueOf()
String re2=String.valueOf(true); //将基本数据类型转换成字符串
System.out.println(re2);//true
22.String.join()
//将字符串数组以制定的字符串连接成新字符串
String[] arr= {"a","b","c","d","e"};
String sss=String.join("#",arr);//只能是字符串数组
System.out.println(sss);//a#b#c#d#e
23.split()
String s="a#b#c#d#e";
//将字符串以指定的字符串(#)分割成一个字符串数组
String[] arr1=s.split("#");
System.out.println(Arrays.toString(arr1));//[a, b, c, d, e]
24.String.format()
//以制定格式格式化字符串
String re3=String.format("%d+%d=%d", 5,5,10);
System.out.println(re3);//5+5=10
25.replace()
String s="12315678";
String re4=s.replace('1', '2');//将字符串中的所有字符1替换为2
System.out.println(re4);//22325678
26.replace()
String s="111333222555111";
String re5=s.replace("111","###");//将字符串中的所有字符串111替换为###
System.out.println(re5);//###333222555###
27.trim()
String s=" rrrrr ";
String s9=s.trim();//去除字符串两边的空格
System.out.println(s9);//rrrrr(两边的空格没有了)
28.intern()
/*如果字符串常量池中已经包含当前字符串
* 则返回常量池的引用地址,否则将新的字符串放入常量池,
* 并返回新字符串的引用地址
*/
注意:java这个字符串不用声明字符串常量池中原本就有
String s7 = "ab";
String s3 = new String("a") + new String("b");
//如果常量池中不含有“ab”这个字符串,
//那么将s3对象引用的字符串存入常量池中,并返回字符串的引用(s3)赋给s5,
//但是字符串常量池中已经存在“ab”字符串并且他的引用是s7,所以把“ab”字符串的引用s7返回给s5
String s5 = s3.intern();
String s4 = "ab";//常量池中已经有这个字符串,并且这个字符串的引用是s7
System.out.println(s5 == s3);//false
System.out.println(s5 == s4);//true
System.out.println(s3 == s4);//false
System.out.println(s5 == s7);//true
System.out.println(s3 == s4);//false
System.out.println(s3 == s7);//false
29.substring()
String s="abcdefgh";
String s1=s.substring(3);//截取字符串,从下标3到结束
System.out.println(s1);//defgh
30.substring()
String s2="012345678";
String s3=s2.substring(3,5);//截取字符串的下标从3到5(左包含右不包含)
System.out.println(s3);//34