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 }

 

posted @ 2021-02-09 15:05  dog_IT  阅读(163)  评论(0编辑  收藏  举报