将String类型的方法分为两类 一种是返回String对象的一些属性的方法,通常返回基本类型 一种是返回String对象按某种规律改变后产生的新对象的方法(String对象本身不改变),通常返回数组或字符串
1、返回基本类型
1.1 int length();
返回字符串长度
语法:变量名.length()
String str = "String类型的常用方法";
int length = str.length();
System.out.println(length);
输出结果:13
1.2 char charAt(int i);
返回指定位置的字符
语法:变量名.charAt()
String str = "String类型的常用方法";
System.out.println(str.charAt(5));
输出结果:g
1.3 int indexOf(“字符”)
返回子字符串的位置
语法:
变量.index(“字符”)
查找一个指定的字符串是否存在,返回的是字符串的位置,如果不存在,则返回-1
String str = "hello world";
int a = str.indexOf("c"); //-1
int b = str.indexOf("e"); //1
System.out.println(a);
System.out.println(b);
1.4 boolean equals(Object object)
判断两个字符串是否相等(字符串相等也能直接用 "=="来判断,String重写了hashCode方法)
语法:
str1.equals(str2)
String str1 = "hello";
String str2 = "hello";
System.out.println(str1.equals(str2)); //true
System.out.println(str1 == str2); //true
1.5 boolean equalsIgnoreCase(String)
忽略大小写的比较两个字符串的值是否一模一样
语法:
str1.equalsIgnoreCase(str2)
String str1 = "Hello";
String str2 = "hello";
System.out.println(str1.equals(str2)); //false
System.out.println(str1.equalsIgnoreCase(str2)); // true
1.6 boolean contains(String)
判断一个字符串里面是否包含指定的内容
str1.contains(str2)
String str1 = "Hello";
String str2 = "ll";
System.out.println(str1.contains(str2)); //true
1.7 boolean startsWith(String)
语法
str1.startsWith(str2)
判断字符串是否以指定的前缀开始
String str1 = "hello";
String str2 = "he";
System.out.println(str1.startsWith(str2)); //true
1.8 boolean endsWith(String)
判断字符串是否以指定的后缀开始(与上面的差不多,就不赘述了)
2、返回其他类型
2.1 char toCharArray()
将字符串变成一个字符数组
语法:
str.toCharArray()
String str1 = "hello";
char[] charArray = str1.toCharArray();
for(int i=0;i<charArray.length;i++) {
System.out.println(charArray[i]);
}
输出:
h
e
l
l
o
2.2 toUpperCase(); toLowerCase();
字符串大小写的转换
String str1 = "hello";
String str2 = str1.toUpperCase();
System.out.println(str1); //hello
System.out.println(str2); //HELLO
原本的字符串并没有发生改变(原因以后再讲),但是创建了一个新的字符串并返回,而且全部是大写
2.3 String[] split(“字符”)
语法:
str.split(“字符”)
根据给定的字符来拆分此字符串。返回一个新的String数组。
String str1 = "h e l l o";
String[] strs = str1.split(" ");
// strs:[h, e, l, l, o]
2.4 String trim()
去掉字符串左右空格
语法:
str.trim()
String str1 = " h e l l o ";
String str2 = str1.trim();
System.out.println(str2); //h e l l o
只去掉了两边的空格,没有去掉中间的空格
2.5 String substring(int beginIndex,int endIndex)
截取字符串
语法:
str.substring(beginIndex,endIndex)
String str1 = "abcdefghijklmnopqrstuvwxyz";
String str2 = str1.substring(1);
String str3 = str1.substring(3,5);
System.out.println(str2); //bcdefghijklmnopqrstuvwxyz
System.out.println(str3); //de
java中这种选择范围的方法,基本上都是前闭后开
2.6 String replace(char oldString,char newString);
将字符串中的子字符串替换为其他字符串
String str1 = "abcdefghijklmnopqrstuvwxyz";
String str2 = str1.replace('a', 'c'); //cbcdefghijklmnopqrstuvwxyz
System.out.println(str2);
String str3 = str1.replace("abc", str2); //cbcdefghijklmnopqrstuvwxyzdefghijklmnopqrstuvwxyz
System.out.println(str3);