String類(lèi)常用方法

作者:xcbeyond
瘋狂源自夢(mèng)想,技術(shù)成就輝煌!微信公眾號(hào):《程序猿技術(shù)大咖》號(hào)主,專(zhuān)注后端開(kāi)發(fā)多年,擁有豐富的研發(fā)經(jīng)驗(yàn),樂(lè)于技術(shù)輸出、分享,現(xiàn)階段從事微服務(wù)架構(gòu)項(xiàng)目的研發(fā)工作,涉及架構(gòu)設(shè)計(jì)、技術(shù)選型、業(yè)務(wù)研發(fā)等工作。對(duì)于Java、微服務(wù)、數(shù)據(jù)庫(kù)、Docker有深入了解,并有大量的調(diào)優(yōu)經(jīng)驗(yàn)。

說(shuō)明:①、所有方法均為public。

             ②、書(shū)寫(xiě)格式: [修飾符] <返回類(lèi)型><方法名([參數(shù)列表])>

      例如:static int parseInt(String s)

      表示此方法(parseInt)為類(lèi)方法(static),返回類(lèi)型為(int),方法所需要為String類(lèi)型。

1. char charAt(int index) :取字符串中的某一個(gè)字符,其中的參數(shù)index指的是字符串中序數(shù)。字符串的序數(shù)從0開(kāi)始到length()-1 。

    例如:String s = new String(“abcdefghijklmnopqrstuvwxyz”);

          System.out.println(“s.charAt(5): ” + s.charAt(5) );

          結(jié)果為: s.charAt(5): f

2. int compareTo(String anotherString) :當(dāng)前String對(duì)象與anotherString比較。相等關(guān)系返回0;不相等時(shí),從兩個(gè)字符串第0個(gè)字符開(kāi)始比較,返回第一個(gè)不相等的字符差,另一種情況,較長(zhǎng)字符串的前面部分恰巧是較短的字符串,返回它們的長(zhǎng)度差。

3. int compareTo(Object o) :如果o是String對(duì)象,和2的功能一樣;否則拋出ClassCastException異常。

    例如:String s1 = new String(“abcdefghijklmn”);

            String s2 = new String(“abcdefghij”);

           String s3 = new String(“abcdefghijalmn”);

           System.out.println(“s1.compareTo(s2): ” + s1.compareTo(s2) ); //返回長(zhǎng)度差

           System.out.println(“s1.compareTo(s3): ” + s1.compareTo(s3) ); //返回‘k’-'a’的差

           結(jié)果為:s1.compareTo(s2): 4

                       s1.compareTo(s3): 10

4. String concat(String str) :將該String對(duì)象與str連接在一起。

5. boolean contentEquals(StringBuffer sb) :將該String對(duì)象與StringBuffer對(duì)象sb進(jìn)行比較。

6. static String copyValueOf(char[] data) :

7. static String copyValueOf(char[] data, int offset, int count) :這兩個(gè)方法將char數(shù)組轉(zhuǎn)換成String,與其中一個(gè)構(gòu)造函數(shù)類(lèi)似。

8. boolean endsWith(String suffix) :該String對(duì)象是否以suffix結(jié)尾。

    例如:String s1 = new String(“abcdefghij”);

           String s2 = new String(“ghij”);

           System.out.println(“s1.endsWith(s2): ” + s1.endsWith(s2) );

           結(jié)果為:s1.endsWith(s2): true

9. boolean equals(Object anObject) :當(dāng)anObject不為空并且與當(dāng)前String對(duì)象一樣,返回true;否則,返回false。

10. byte[] getBytes() :將該String對(duì)象轉(zhuǎn)換成byte數(shù)組。

11. void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin) :該方法將字符串拷貝到字符數(shù)組中。其中,srcBegin為拷貝的起始位置、srcEnd為拷貝的結(jié)束位置、字符串?dāng)?shù)值dst為目標(biāo)字符數(shù)組、dstBegin為目標(biāo)字符數(shù)組的拷貝起始位置。

     例如:char[] s1 = {‘I’,' ’,'l’,'o’,'v’,'e’,' ’,'h’,'e’,'r’,'!’};//s1=I love her!

           String s2 = new String(“you!”); s2.getChars(0,3,s1,7); //s1=I love you!

           System.out.println( s1 );

           結(jié)果為:I love you!

12. int hashCode() :返回當(dāng)前字符的哈希表碼。

13. int indexOf(int ch) :只找第一個(gè)匹配字符位置。

14. int indexOf(int ch, int fromIndex) :從fromIndex開(kāi)始找第一個(gè)匹配字符位置。

15. int indexOf(String str) :只找第一個(gè)匹配字符串位置。

16. int indexOf(String str, int fromIndex) :從fromIndex開(kāi)始找第一個(gè)匹配字符串位置。

      例如:String s = new String(“write once, run anywhere!”);

              String ss = new String(“run”);

              System.out.println(“s.indexOf(‘r’): ” + s.indexOf(‘r’) );

              System.out.println(“s.indexOf(‘r’,2): ” + s.indexOf(‘r’,2) );

              System.out.println(“s.indexOf(ss): ” + s.indexOf(ss) );

              結(jié)果為:s.indexOf(‘r’): 1

                      s.indexOf(‘r’,2): 12

                      s.indexOf(ss): 12

17. int lastIndexOf(int ch)

18. int lastIndexOf(int ch, int fromIndex)

19. int lastIndexOf(String str)

20. int lastIndexOf(String str, int fromIndex) 以上四個(gè)方法與13、14、15、16類(lèi)似,不同的是:找最后一個(gè)匹配的內(nèi)容。

public class CompareToDemo {
      public static void main (String[] args) {
           String s1 = new String(“acbdebfg”);

           System.out.println(s1.lastIndexOf((int)’b',7));

     }

}

運(yùn)行結(jié)果:5

       (其中fromIndex的參數(shù)為 7,是從字符串a(chǎn)cbdebfg的最后一個(gè)字符g開(kāi)始往前數(shù)的位數(shù)。既是從字符c開(kāi)始匹配,尋找最后一個(gè)匹配b的位置。所以結(jié)果為 5)

21. int length() :返回當(dāng)前字符串長(zhǎng)度。

22. String replace(char oldChar, char newChar) :將字符號(hào)串中第一個(gè)oldChar替換成newChar。

23. boolean startsWith(String prefix) :該String對(duì)象是否以prefix開(kāi)始。

24. boolean startsWith(String prefix, int toffset) :該String對(duì)象從toffset位置算起,是否以prefix開(kāi)始。

     例如:String s = new String(“write once, run anywhere!”);

             String ss = new String(“write”);

             String sss = new String(“once”);

             System.out.println(“s.startsWith(ss): ” + s.startsWith(ss) );

             System.out.println(“s.startsWith(sss,6): ” + s.startsWith(sss,6) );

             結(jié)果為:s.startsWith(ss): true

                     s.startsWith(sss,6): true

25. String substring(int beginIndex) :取從beginIndex位置開(kāi)始到結(jié)束的子字符串。

26.String substring(int beginIndex, int endIndex) :取從beginIndex位置開(kāi)始到endIndex位置的子字符串。

27. char[ ] toCharArray() :將該String對(duì)象轉(zhuǎn)換成char數(shù)組。

28. String toLowerCase() :將字符串轉(zhuǎn)換成小寫(xiě)。

29. String toUpperCase() :將字符串轉(zhuǎn)換成大寫(xiě)。

     例如:String s = new String(“java.lang.Class String”);

             System.out.println(“s.toUpperCase(): ” + s.toUpperCase() );

             System.out.println(“s.toLowerCase(): ” + s.toLowerCase() );

             結(jié)果為:s.toUpperCase(): JAVA.LANG.CLASS STRING

                  s.toLowerCase(): java.lang.class string

30. static String valueOf(boolean b)

31. static String valueOf(char c)

32. static String valueOf(char[] data)

33. static String valueOf(char[] data, int offset, int count)

34. static String valueOf(double d)

35. static String valueOf(float f)

36. static String valueOf(int i)

37. static String valueOf(long l)

38. static String valueOf(Object obj)