方法名 | 作用 |
---|---|
public int length() | 获取字符串长度 |
public char charAt(int index) | 提取字符串中某个索引位置处的字符 |
public char[] toCharArray() | 将字符串转换成字符数组 |
public boolean equals(Object anObject) | 比较两个字符串内容是否相等,相等返回true,否则返回false |
public boolean equalsIgnoreCase(String anotherString) | 忽略大小写比较字符串内容,内容相等返回true,否则返回false |
public String substring(int beginIndex, int endIndex) | 截取字符串,从索引beginIndex开始,到索引endIndex结束 |
public String substring(int beginIndex) | 截取字符串,从索引beginIndex开始一直到最后一个索引结束 |
public String replace(CharSequence target, CharSequence replacement) | 使用新值将字符串中的旧值换掉,得到新的字符串 |
public boolean contains(CharSequence s) | 判断字符串中是否包含了某个字符串,如果包含返回true,否则返回false |
public boolean startsWith(String prefix) | 判断字符串是否以某个字符串内容开头,若以该指定字符串开头则返回true,否则返回false |
public String[] split(String regex) | 把字符串按照某个字符串内容分割,并返回字符串数组 |
案例演示
1. public int length()
获取字符串长度
System.out.println("愿逐月华流照君".length()); //打印结果为7
2. public char charAt(int index)
获取字符串中某个索引位置处的字符
String str = "愿逐月华流照君";
System.out.println(str.charAt(2)); //打印结果为“月”
3. public char[] toCharArray()
将字符串转换成字符数组 toCharArray()
String str = "1234567";
char[] strArray = str.toCharArray();
for (int i = 0; i < strArray.length; i++) {
System.out.print(i == 0 ? strArray(i) : "-" + strArray(i)); //打印结果为“1-2-3-4-5-6-7”
}
4. public boolean equals(Object anObject)
比较两个字符串内容是否相等,相等返回true,否则返回false
String str1 = "Java";
String str2 = "java"
System.out.println(str1.equals(str2)); //打印结果为false,因为该方法严格区分大小写
5. public boolean equalsIgnoreCase(String anotherString)
忽略大小写比较字符串内容,内容相等返回true,否则返回false
String str1 = "Java";
String str2 = "java"
System.out.println(str1.equalsIgnoreCase(str2)); //返回结果为true,因为该方法忽略了大小写
6. public String substring(int beginIndex, int endIndex)
截取字符串,从索引beginIndex开始,到索引endIndex结束,并返回新的字符串对象
String str1 = "此时相望不相闻,愿逐月华流照君";
String str2 = str1.substring(8, 15); //该方法包前不包后,也就是从索引8直到索引15,虽然没有索引15
System.out.println(str2); //愿逐月华流照君
7. public String substring(int beginIndex)
截取字符串,从索引beginIndex开始一直到最后一个索引结束
String str1 = "此时相望不相闻,愿逐月华流照君";
String str2 = str1.substring(7);
System.out.println(str2); //输出结果为“,愿逐月华流照君”,从索引7开始直到结束
8. public String replace(CharSequence target, CharSequence replacement)
使用新值将字符串中的旧值换掉,得到新的字符串
String str1 = "Java是一门编程语言";
String str2 = str1.replace("Java", "Python");
System.out.println(str2); //输出结果:Python是一门编程语言
9. public boolean contains(CharSequence s)
判断字符串中是否包含了某个字符串
String str1 = "Java是一门面向对象的编程语言";
System.out.println(str1.contains("对象")); //输出结果:true
10. public boolean startsWith(String prefix)
判断字符串是否以某个字符串内容开头,若以该指定字符串开头则返回true,否则返回false
String str1 = "Java是一门面向对象的编程语言";
System.out.println(str1.contains("对象")); //输出结果:false
System.out.println(str1.contains("Java")); //输出结果:true
11. public String[] split(String regex)
把字符串按照某个字符串内容分割,并返回字符串数组
String str1 = "张三,李四,王五,赵六";
String[] strArray = str1.split(",");
for (int i = 0; i < strArray.length; i++) {
System.out.print(i == 0 ? strArray(i) : "-" + strArray(i)); //输出结果:张三-李四-王五-赵六
}
1. String对象的内容不可改变,称为不可变字符串对象
2. 只要是以"…"(双引号)方式写出的字符串对象,会存储到字符串常量池,且相同内容的字符串只存储一份;但通过new方式创建字符串对象,每new一次都会产生一个新的对象放在堆内存中。