String的常用方法
1 package day2_7; 2 3 import org.junit.Test; 4 5 /** 6 * @Author Tianhao 7 * @create 2021-02-09-14:58 8 */ 9 public class StringTest2 { 10 11 /** 12 * String的方法中只要返回String,一般情况下都是新创建String, 13 * 就是在堆里再创建一个新对象,这也体现了String的不可变性 14 * String toLowerCase() 15 * String toUppercase() 16 * String trim() 返回字符串的副本,忽略前导空白和尾部空白 17 * boolean equals(Object) 18 * boolean equalsIgnoreCase(String) 19 * int compareTo(String): 这是实现Comparable接口的抽象方法 20 * String substring(int beginIndex) 21 * String substring(int beginIndex,int endIndex) : 前闭后开 [beginIndex,endIndex) 22 * char charAt(int index) 23 * boolean isEmpty() 24 * boolean endsWith(String suffix) 是否以指定的字符串结尾 25 * boolean startsWith(String prefix) 是否以指定的字符串开头 26 * boolean startsWith(String prefix,int index) 从指定索引开始,是否以指定的字符串开头 27 * boolean contains(CharSequence) 是否包含指定的字符序列 28 * int indexOf(String) 返回指定子字符串第一次出现的索引 29 * int indexOf(String str,int Index) 从指定索引开始寻找,返回指定子字符串第一次出现的索引 30 * int lastIndexOf(String) 返回指定子字符串出现在最右边的索引 31 * int lastIndexOf(String) 从指定索引开始反向(向左)寻找,返回指定子字符串出现在最右边的索引 32 * 注意:indexOf(String) 和 lastIndexOf(String),如果未找到,都是返回-1 33 * 34 * 什么情况下,indexOf(String) 和 lastIndexOf(String) 返回结果一样? 35 * 1.指定子字符串只出现一次 36 * 2.指定子字符串未找到,都返回-1 37 * 38 * 替换 39 * String replace(char oldChar,char newchar) 40 * String replace(CharSequence target,CharSequence replacement) 41 * String replaceAll(String regex,String replacement) 42 * String replaceFirst(String regex,String replacement) 43 *匹配 44 * boolean matches(String regex) 45 * 拆分 46 * String[] split(String regex) 47 * String[] split(String regex,int limit) 48 * 49 * 50 */ 51 @Test 52 public void test() { 53 String s1 = "HelloWorld"; 54 String s2 = s1.toLowerCase(); 55 String s3 = "HelloWorld".toLowerCase(); 56 // == 比较地址值 57 System.out.println(s1 == s2);//false 58 System.out.println(s1 == s3);//false 59 System.out.println(s2 == s3);//false 60 61 System.out.println("*******************"); 62 // equals() 比较字符串内容 63 System.out.println(s1.equals(s2));//false 64 System.out.println(s1.equals(s3));//false 65 System.out.println(s2.equals(s3));//true 66 67 68 String s4 = "abae"; 69 String s5 = new String("abcgkhlk"); 70 71 //只关心内容,从两个字符串的第一个开始, 72 //找到不同的那个字符元素,用字符对应的ASCII码相减 73 //这里是第三个元素a(97)-c(99) = -2 74 int i = s4.compareTo(s5); 75 System.out.println(i); //-2 结果为负数,表示s4 < s5 76 77 } 78 79 }