String

String常用API

方法名 作用
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));	//输出结果:张三-李四-王五-赵六
}

String使用注意事项

1. String对象的内容不可改变,称为不可变字符串对象

2. 只要是以"…"(双引号)方式写出的字符串对象,会存储到字符串常量池,且相同内容的字符串只存储一份;但通过new方式创建字符串对象,每new一次都会产生一个新的对象放在堆内存中。

你可能感兴趣的:(java,开发语言)