java 中String類的常用方法總結,帶你玩轉String類。


 

String類:

String類在java.lang包中,java使用String類創建一個字符串變量,字符串變量屬於對象。String類對象創建后不能修改,StringBuffer & StringBuilder 類。這時我們會問,為什么我們String變量賦值不就是改變了嗎?其實不是的,賦值后將會生成新的對像來存放新的內容,原先的對象依舊在內存中,但是s不在指向它,那么這個對象就會成為垃圾內存,在某一個特定的時刻有Java虛擬機回收。 詳情解釋請點擊    包含在一對雙引號之間。

String字符串變量的創建:

聲明:     String 變量名;

         String str;

聲明並初始化:  String 變量名="初始值";

String str = "挨點博客";

String常用方法:

  1、int length();  語法:字符串變量名.length();  返回值為 int 類型。得到一個字符串的字符個數(中、英、空格、轉義字符皆為字符,計入長度)

    

        String a="挨點aidian \t\n";
        int l = a.length();
        System.out.println(l);

運行結果:11

2、char charAt(值);  語法 :字符串名.charAt(值);  返回值為 char 類型。從字符串中取出指定位置的字符 

     String str="張三瘋";
        char c = str.charAt(2);  
        System.out.println("指定字符為:" + c); 

運行結果:指定字符為:瘋

   3、char  toCharArray();  語法 :字符串名.toCharArray();  返回值為 char 數組類型。將字符串變成一個字符數組 

 
         
String str="張三瘋";
char c[] = str.toCharArray();  
for (int i = 0; i < c.length; i++) 
System.out.println("轉為數組輸出:" + c[i]);

      運行結果:

轉為數組輸出:張
轉為數組輸出:三
轉為數組輸出:瘋

 4、int indexOf("字符")  語法 :字符串名.indexOf("字符");字符串名.indexOf("字符",值);查找一個指定的字符串是否存在,返回的是字符串的位置,如果不存在,則返回-1 。 

    in lastIndexOf("字符") 得到指定內容最后一次出現的下標

 
         
String str="只為挨你近一點";
int a1 = str.indexOf("你");// 查找字符你的位置  
int a2 = str.indexOf("為", 2);// 查找為的位置,從第3個開始查找
int a3 = str.lastIndexOf("點");  
System.out.println("你的位置為:" + a1);  
System.out.println("為的位置為:" + a2);
System.out.println("點最后出現的位置為:" + a3);
運行結果:

你的位置為:3

為的位置為:-1

點最后出現的位置為:7

   5、toUpperCase();  toLowerCase();字符串大小寫的轉換

String str="hello world";
System.out.println("將字符串轉大寫為:" + str.toUpperCase());
System.out.println("將字符串轉換成小寫為:" + str.toUpperCase().toLowerCase());

運算結果:

將字符串轉大寫為:HELLO WORLD
將字符串轉換成小寫為:hello world

  6、String[] split("字符")  根據給定的正則表達式的匹配來拆分此字符串。形成一個新的String數組。

String str = "boo:and:foo";
String[] arr1 = str.split(":");
String[] arr2 = str.split("o");
運行結果:
  arr1  //{ "boo", "and", "foo" }
  arr2  //{ "b", "", ":and:f" }

  7、boolean equals(Object anObject)  語法 :字符串變量名.wquals(字符串變量名);  返回值為布爾類型。所以這里用 if 演示。比較兩個字符串是否相等,返回布爾值

               String str = "hello";
                      String str1="world";  
                      if(str.equals(str1)) 
                      {  
                       System.out.println("這倆字符串值相等"); 
                      }  
                      else
                      {
                       System.out.println("這倆字符串值不相等");  
                      }
      運行結果:

          這倆字符串值不相等

 

  8、trim();  去掉字符串左右空格  replace(char oldChar,char newChar);新字符替換舊字符,也可以達到去空格的效果一種。

String str = " 挨點博客 "; System.out.println("去掉左右空格后:" + str.trim());

運行結果:

  去掉左右空格后:挨點博客



第二種:
String str = "       挨點博客         ";  
System.out.println("去掉左右空格后:" + str.replace(" ","")); 

運行結果:

  去掉左右空格后:挨點博客

  9、String substring(int beginIndex,int endIndex)  截取字符串 

      String str = "123挨點博客456";  
         System.out.println("截取后的字符為:" + str.substring(0,3));// 截取0-3個位置的內容   不含3 
         System.out.println("截取后字符為:" + str.substring(2));// 從第3個位置開始截取    含2

  運行結果:

    截取后的字符為:123
    截取后字符為:3挨點博客456

 
        

  10、boolean equalsIgnoreCase(String) 忽略大小寫的比較兩個字符串的值是否一模一樣,返回一個布爾值

     String str = "HELLO WORLd";
        String str1 = "hello world";
        if(str.equalsIgnoreCase(str1))
        {
            System.out.println("兩個字符串相等");
        }
        else
        {
            System.out.println("兩個字符串不相等");
        }

運行結果:

    兩個字符串相等

 
        

  11、boolean contains(String) 判斷一個字符串里面是否包含指定的內容,返回一個布爾值

        String str = "HELLO WORLd";
        String str1 = "WO";
        if(str.contains(str1))
        {
            System.out.println("str內容中存在WO");
        }
        else
        {
            System.out.println("抱歉沒找着");
        }
運行結果:

  str內容中存在WO

 
        

  12、boolean startsWith(String)  測試此字符串是否以指定的前綴開始。返回一個布爾值

     String str = "HELLO WORLd";
        String str1 = "HE";
        if(str.startsWith(str1))
        {
            System.out.println("str內容中存在HE前綴開頭");
        }
        else
        {
            System.out.println("抱歉沒找着");
        }
運行結果:

  str內容中存在HE前綴開頭

 
        

  13、boolean endsWith(String)  測試此字符串是否以指定的后綴結束。返回一個布爾值

        String str = "挨點博客";
        String str1 = "博客";
        if(str.endsWith(str1))
        {
            System.out.println("str內容中存在\'博客\'后綴結束");
        }
        else
        {
            System.out.println("抱歉沒找着");
        }
運行結果:

  str內容中存在'博客'后綴結束

 
        

  14、上面提到了replace方法,接下繼續補充一下  String replaceAll(String,String) 將某個內容全部替換成指定內容,   String repalceFirst(String,String) 將第一次出現的某個內容替換成指定的內容

String str = ",,,,,,挨點博客,,,,, "; System.out.println("改變后:" + str.replaceAll(",","a"));

運行結果:改變后:a,,,,,挨點博客,,,,, 
String str = ",,,,,,挨點博客,帥嗎,帥嗎,,,,, "; System.out.println("改變后:" + str.replaceFirst("帥嗎","很帥哦")); 運行結果:改變后:,,,,,,挨點博客,很帥哦,帥嗎,,,,,

  鞏固的時候查閱了很多資料。給大家推薦一個工具,是一個java使用手冊在線版  http://tool.oschina.net/apidocs/apidoc?api=jdk-zh  希望對你們的學習有幫助,並多多支持下。

如何有錯誤的、或者有補充的請在評論區評論、我再改正與補充。

  原創內容,轉載還望注明來源,謝謝。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM