Java面向?qū)ο蟆狝PI(1)----String常用方法

1、String的常用方法

  • length():獲取字符串的長度(字符個數(shù))
    String str = "我愛Java!";
    int len = str.length(); //獲取str的長度
    System.out.println(len); //7
    
  • trim():去除當前字符串兩邊的空白字符(場景:注冊時,防止誤觸空格)
    String str = "    hello world       ";
    System.out.println(str); //    hello world
    str = str.trim(); //去除str兩邊的空白字符,并將去除之后的新的對象存儲到str中
    System.out.println(str); //hello world
    
  • toUpperCase()/toLowerCase():將當前字符串中的英文部分給轉(zhuǎn)換為全大寫/全小寫(場景:驗證碼)
    String str = "我愛Java!";
    String upper = str.toUpperCase(); //將str中的英文部分轉(zhuǎn)換為全大寫,并存入upper中
    System.out.println(upper); //我愛JAVA!
    String lower = str.toLowerCase(); //將str中的英文部分轉(zhuǎn)換為全小寫,并存入lower中
    System.out.println(lower); //我愛java!
    
  • startsWith()/endsWith():判斷當前字符串是否是以給定的字符串開始的/結(jié)束的(一些有要求的特定場景)
    String str = "thinking in java"; //java編程思想(經(jīng)典書---工具書)
    boolean starts = str.startsWith("think"); //判斷str是否是以think開頭的
    System.out.println(starts); //true
    boolean ends = str.endsWith(".png"); //判斷str是否是以.png結(jié)尾的
    System.out.println(ends); //false
    
  • charAt():返回當前字符串指定位置上的字符----根據(jù)位置找字符
    String str = "thinking in java";
    char c = str.charAt(9); //獲取str中下標9所對應的字符
    System.out.println(c); //i
    
  • indexOf()/lastIndexOf():檢索給定字符串在當前字符串中第一次/最后一次出現(xiàn)的位置,根據(jù)字符串找位置
    String str = "thinking in java";
    int index = str.indexOf("in"); //檢索in在str中第1次出現(xiàn)的位置
    System.out.println(index); //2
    //從下標為3的位置開始找in第1次出現(xiàn)的位置
    index = str.indexOf("in",3);
    System.out.println(index); //5
    index = str.indexOf("abc"); //若字符串在str中不存在,則返回-1
    System.out.println(index); //-1
    
    index = str.lastIndexOf("in"); //找in最后一次出現(xiàn)的位置
    System.out.println(index); //9
    
  • substring():截取當前字符串中指定范圍內(nèi)的字符串(含頭不含尾--包含start,但不包含end)
    String str = "www.baidu.com";
    int start = str.indexOf("."); //3,獲取第1個點之后的下標
    int end = str.lastIndexOf("."); //9,獲取最后一個點的下標
    String name = str.substring(start+1,end); //截取下標4到下標8之內(nèi)的字符串
    System.out.println(name); //baidu
    
    name = str.substring(4); //從下標4一直到最后
    System.out.println(name); //baidu.com
    
  • 靜態(tài)方法valueOf():將其它數(shù)據(jù)類型轉(zhuǎn)換為String
    int a = 123;
    String s1 = String.valueOf(a); //將int型變量a轉(zhuǎn)換為String類型并賦值給s1
    System.out.println(s1); //123---字符串類型
    
    double b = 123.456;
    String s2 = String.valueOf(b); //將double型變量b轉(zhuǎn)換為String類型并賦值給s2
    System.out.println(s2); //123.456---字符串類型
    
    String s3 = b+""; //任何類型與字符串相連,結(jié)果都變?yōu)樽址愋?,效率?一會兒講)
    System.out.println(s3); //123.456---字符串類型
    

2、StringBuilder

  • 由于String是不變對象,每次修改內(nèi)容都會創(chuàng)建新的對象,因此String不適合頻繁修改操作,為了解決這個問題,java提供了StringBuilder類。
  • StringBuilder是專門用于修改字符串的一個類,內(nèi)部維護一個可變的char數(shù)組,所做操作都是在這個數(shù)組之上進行的,修改速度、性能優(yōu)秀,并且提供了修改字符串的常見方式:增、刪、改、插。

3、 StringBuilder的常用方法

  • append():增加內(nèi)容------------------------增

  • delete():刪除部分內(nèi)容--------------------刪

  • replace():替換部分內(nèi)容-------------------改

  • insert():插入內(nèi)容----------------------------插

    String str = "好好學習Java";
    //復制str的內(nèi)容到builder中---------好好學習Java
    StringBuilder builder = new StringBuilder(str);
    
    //append():追加內(nèi)容-----在末尾追加
    builder.append(",為了找個好工作");
    System.out.println(builder); //好好學習Java,為了找個好工作
    
    //replace():替換部分內(nèi)容(含頭不含尾)
    //將下標為9到15的內(nèi)容替換為---就是為了改變世界
    builder.replace(9,16,"就是為了改變世界");
    System.out.println(builder); //好好學習Java,就是為了改變世界
    
    //delete():刪除部分內(nèi)容(含頭不含尾)
    builder.delete(0,8); //刪除下標為0到7的
    System.out.println(builder); //,就是為了改變世界
    
    //insert():插入內(nèi)容
    builder.insert(0,"活著"); //在下標為0的位置插入活著
    System.out.println(builder); //活著,就是為了改變世界
    
    /*
            //StringBuilder的創(chuàng)建方式:
            StringBuilder builder1 = new StringBuilder(); //空字符串
            StringBuilder builder2 = new StringBuilder("abc"); //abc串
            //基于String來創(chuàng)建StringBuilder
            String str = "abc";
            StringBuilder builder3 = new StringBuilder(str); //abc串
            String str2 = builder3.toString(); //將builder3轉(zhuǎn)換為String類型
    */
    

4、 補充

  1. 數(shù)組是length屬性,String字符串是length方法

  2. 字符串內(nèi)容若需要查看,那建議String-------------------實際應用中一般都是查看

    字符串內(nèi)容若需要頻繁修改,那建議StringBuilder

  3. StringBuilder和StringBuffer的區(qū)別:------現(xiàn)在先不用糾結(jié),學完線程之后才能理解

    • StringBuilder:非線程安全的,并發(fā)處理的,性能稍快---------一般都是用StringBuilder
    • StringBuffer:線程安全的,同步處理的,性能稍慢
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容