3.成员方法
A.判断功能
a.boolean equals(Object anObject) 区分大小写
Object类的equals方法比较的是地址值;被String类重写的equals方法比较的是字符串的内容
字符序列相同,则true,否则为false
b.boolean equalsIgnoreCase(String anotherString) 不区分大小写
将此 String 与另一个 String 比较,不考虑大小写。
c.boolean contains(String s)
大串是否包含小串
d.boolean startsWith(String prefix)
测试此字符串是否以指定的前缀开始。
e.boolean endsWith(String s)
测试此字符串是否以指定的后缀结束。
f.boolean isEmpty()
是否是空字符串
B.获取功能
a. char charAt(int index)
返回指定索引处的 char 值。
b.int indexOf(int ch) 找不到,不存在都是-1
返回指定字符在此字符串中第一次出现处的索引。
c.int indexOf(String str)
返回指定子字符串在此字符串中第一次出现处的索引。
d. int indexOf(String str, int fromIndex)
返回指定子字符串在此字符串中第一次出现处的索引,从指定的索引开始。
e.String substring(int beginIndex)
返回一个新的字符串,它是此字符串的一个子字符串。
f.String substring(int beginIndex, int endIndex)
返回一个新字符串,它是此字符串的一个子字符串。
C.转换功能
a.byte[] getBytes(String charsetName) 把字符串转换成字节数组
b.char[] toCharArray() 把字符串转换成字符数组
c.static String valueOf(char[] data) 把字符数组转换成字符串
d.static String valueOf(int i) 把int转换成字符串,另外还有其他基本类型
e.String toLowerCase() 所有字符都转换为小写
f.String toUpperCase() 所有字符都转换为大写
g.String concat(String str) 将指定字符串连接到此字符串的结尾。
注意:String类的静态方法可以将任意类型的数据转换成字符串
static String valueOf(基本类型 value);基本类型
static String valueOf(Object obj);引用类型
D.其他功能
a.替换
String replace(char oldChar, char newChar)
返回一个新的字符串,它是通过用 newChar 替换此字符串中出现的所有 oldChar 得到的。
String replace(String old,String new)
用新的字符串,替代原字符串的某一子串
b.去除字符串首尾空格
String trim()
返回字符串的副本,忽略前导空白和尾部空白
c.按字典顺序比较两个字符串
int compareTo(String anotherString) 按字典顺序比较两个字符串。
int compareToIgnoreCase(String str) 按字典顺序比较两个字符串,不考虑大小写。
package API_ordinary;
public class StringDemo2 {
public static void main(String[] args) {
//判断功能
//boolean equals()
System.out.println("hello".equals("hello"));
//boolean equalsIgnoreCase(String str)
String s1="Hello";
String s2="heLlo";
System.out.println(s1.equalsIgnoreCase(s2));
//boolean contains(String s)
String s3="he";
System.out.println(s2.contains(s3));
//boolean startsWith(String s)
System.out.println(s2.startsWith("h"));
//boolean endsWith(String s)
System.out.println(s2.endsWith("o"));
//boolean isEmpty()
System.out.println("".isEmpty());
//获取功能
String s="helloiamkangkangfromamerica";
//char charAt(int index)
System.out.println(s.charAt(10));
//int indexOf(int ch) e的值是101
System.out.println(s.indexOf(101));
//int indexOf(String str)
System.out.println(s.indexOf("amkangkang"));
//int indexOf(String str, int fromIndex)
System.out.println(s.indexOf("am",0));
System.out.println(s.indexOf("am",7));
//String substring(int beginIndex)
System.out.println(s.substring(20));
//String substring(int beginIndex, int endIndex)
System.out.println(s.substring(20,22));
//练习1:用上述方法遍历字符串的每个字符
for(int i=0;i<s.length();i++)
System.out.print(s.charAt(i));
//练习2:统计一个字符串中大写、小写、数字字符出现的次数
s="hEllO1wo32lD";
int big=0;
int small=0;
int num=0;
for(int i=0;i<s.length();i++)
{
char c=s.charAt(i);
if(c>='a'&&c<='z')
small++;
if(c>='A'&&c<='Z')
big++;
if(c>='0'&&c<='9')
num++;
}
System.out.println("\n大写字母个数:"+big+"\n小写字母个数:"+small+"\n数字个数:"+num);
//替换功能
//String replace(char oldChar, char newChar)
s="aaaabbbcccddd";
System.out.println(s.replace('a', 'i'));
//String replace(String old,String new)
System.out.println(s.replace("aa", "xxxxx"));
//去除字符串首尾空格,中间的空格去不掉
s=" abcd ";
System.out.println(s.trim());
//按字典顺序比较两字符串
s1="hello";
s2="hello";
s3="abc";
String s4="xyz";
System.out.println(s1.compareTo(s2));//都相同,则为0
System.out.println(s1.compareTo(s3));//index处不同,则s1的index处字符的ASCII值减s2处的
System.out.println(s1.compareTo(s4));
}
}
true
true
true
true
true
true
n
1
6
6
20
america
am
helloiamkangkangfromamerica
大写字母个数:3
小写字母个数:6
数字个数:3
iiiibbbcccddd
xxxxxxxxxxbbbcccddd
abcd
0
7
-16