Java--String類常用方法小結(jié)(StringBuffer&StringBuilder))

Java String 類

字符串廣泛應(yīng)用 在 Java 編程中,在 Java 中字符串屬于對(duì)象,Java 提供了 String 類來創(chuàng)建和操作字符串。

字符串的創(chuàng)建

  • 創(chuàng)建字符串最簡(jiǎn)單的方式

String str = "hello";

注意:String創(chuàng)建的是不可變字符串,一旦創(chuàng)建,內(nèi)容不能發(fā)生改變
如果需要對(duì)字符串做很多修改,那么應(yīng)該選擇使用 StringBuffer & StringBuilder 類。

String str = new String();
  • 使用構(gòu)造方法創(chuàng)建字符串

    • 提供一個(gè)字符數(shù)組參數(shù):

      char[] helloArray = { 'r', 'u', 'n', 'o', 'o', 'b'};
      String helloString = new String(helloArray);  
      System.out.println( helloString );
  • 使用字節(jié)數(shù)組 創(chuàng)建一個(gè)字符串

    • 如果存放的是整型數(shù)字,會(huì)轉(zhuǎn)化為對(duì)應(yīng)ASCII碼的字符
     //使用字節(jié)數(shù)組  創(chuàng)建一個(gè)字符串
        byte[] name = {'a','b','c'};
        String str4 = new String(name);
        System.out.println(str4);

        byte[] name2 = {97,98,99};
        String str5 = new String(name2);
        System.out.println(str4);

        //使用字節(jié)數(shù)組里面的一部分 創(chuàng)建一個(gè)新的數(shù)組
        String str6 = new String(name,0,2);
        System.out.println(str6);

       char[] hello = {'你','好','啊'};
        String h = new String(hello);
        System.out.println(h);

字符串常用方法

下面是 String 類支持的方法,更多詳細(xì),參看 Java String API 文檔:

String h = "hello";
char c = h.indexOf(2);
System.out.println(c);
  • 獲取字符串的長(zhǎng)度

        String site = "www.baidu.com";
        int len = site.length();
        System.out.println( "百度網(wǎng)址長(zhǎng)度 : " + len );
  • == 與equals()辨析

    • == 比較兩個(gè)對(duì)象是否相同:地址
    • equals 比較內(nèi)容是否相同
//如果str1 與str 2 內(nèi)容相同  ,則兩者地址相同
        String str1 = "abc";
        String str2 = "abcd";

        System.out.println(str1 == str2);      //false
        System.out.println(str1.equals(str2));      //false
  • 連接兩個(gè)字符串,返回值為一個(gè)新的字符串

使用:string1.concat(string2);

        String nStr = str5.concat(h);
        System.out.println(nStr);
        int result = str4.compareToIgnoreCase(str5);
        System.out.println(result);
  • 判斷一個(gè)字符串是否包含另外一個(gè)字符串 contains

        boolean ressult = "hello,world".contains("world");
        System.out.println(ressult);
  • 判斷是否以某個(gè)字符串結(jié)尾,結(jié)尾,第幾個(gè)字符開始以什么開始

         String url = "http://www.baidu.com";
        if (url.endsWith(".com")){
            System.out.println("網(wǎng)址");
        }

        if (url.startsWith("http")){
            System.out.println("http協(xié)議");
        }

        if (url.startsWith("www",7)){
            System.out.println("萬維網(wǎng)");
        }
  • 獲取一個(gè)子字符串在另外一個(gè)字符串里面的位置,如果不存在 返回值為-1.

        String string = "hello Java";
        int index = string.indexOf("Java");
        System.out.println(index);
  • 獲取子字符串

    • substring 從index到結(jié)尾
        String sStr = string.substring(6);
        System.out.println(sStr);
  • 獲取索引值從i到j(luò)的字符串
        String sStr2 = string.substring(4,7);
        System.out.println(sStr2);

想了解更詳細(xì)的用法:https://www.runoob.com/java/java-string.html

StringBuffer 和 StringBuilder類(可變字符串)

類型 StringBuffer類 StringBuilder類
線程 線程安全 線程不安全
效率 效率不高 效率更高
方法:insert append delete replace
  • append 在末尾追加
  // 創(chuàng)建的同時(shí)先準(zhǔn)備好6個(gè)字符的空間
    StringBuffer sBuffer = new StringBuffer(6);
    sBuffer.append("I ");
    sBuffer.append("love ");
    sBuffer.append("Java");
    System.out.println(sBuffer);  
  • 插入數(shù)據(jù) insert
        sBuffer.insert(2, "also ");
        System.out.println(sBuffer);
  • 刪除 delete
        sb.delete(2,6);
        System.out.println(sb);
  • 替換 replace
        // start  end  string
        int start = sBuffer.indexOf("Android");
        int end = start + "Android".length();
        sb.replace(start,end,"you!!!");
        System.out.println(sBuffer);
  • 反轉(zhuǎn) reverse
        sb.reverse();
        System.out.println(sb);

輸出結(jié)果:
輸出結(jié)果

心得體會(huì):

??要提高自己的學(xué)習(xí)能力,如何快速地了解一個(gè)類里面的方法,并且學(xué)會(huì)運(yùn)用。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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