Java 常用工具類(lèi)--字符串

String類(lèi)

String對(duì)象的創(chuàng)建方式
1、 String s1 = "alan"; 創(chuàng)建一個(gè)字符串對(duì)象alan,名為s1.或者說(shuō)s1指向?qū)ο骯lan
2、String s2 = new String(); 創(chuàng)建一個(gè)空字符串對(duì)象,名為s2
3、String s3 = new String("alan"); 創(chuàng)建一個(gè)字符串對(duì)象alan,名為s3

  • 字符串與byte數(shù)組之間的轉(zhuǎn)換。
package com.alan.string;

import java.io.UnsupportedEncodingException;

public class StringDemo3 {

    public static void main(String[] args) throws UnsupportedEncodingException {
        // 字符串與byte數(shù)組之間的相互轉(zhuǎn)換
        
        String str = new String("JAVA 編程 基礎(chǔ)");
        
        //將字符串轉(zhuǎn)換為byte數(shù)組,并打印輸出
        
        byte[] arrs = str.getBytes("GBK");
        for(int i = 0;i<arrs.length;i++) {
            System.out.print(arrs[i]+" ");
        }
        System.out.println();
        //將byte數(shù)組轉(zhuǎn)回字符串,展示
        
        String str1 = new String(arrs,"GBK");
        System.out.println(str1);

    }

}

等于“==”運(yùn)算符與equals方法的區(qū)別

image.png
package com.alan.string;

public class StringDemo4 {

    public static void main(String[] args) {
        // ==和equals的區(qū)別
        //定義三個(gè)字符串,內(nèi)容都是alan
        String str1 = "alan";
        String str2 = "alan";
        String str3 = new String("alan");
        System.out.println("str1和str2的內(nèi)容相同?"+str1.equals(str2));
        System.out.println("str1和str2的內(nèi)容相同?"+str1.equals(str3));
        
        System.out.println("str1和str2的地址相同?"+ (str1==str2));
        System.out.println("str1和str2的地址相同?"+ (str1==str3));
        
    }

}

字符串不可變性

image.png

StringBuilder

  • String具有不可變性,StringBuilder不具備
    建議:當(dāng)頻繁操作字符串的時(shí)候,使用StringBuilder

  • StringBuilder與StringBuffer
    1、 二者基本相似
    2、StringBuffer是線程安全的,StringBuilder則沒(méi)有,所以性能略高。
    3、字符串處理一般都是單線程的,無(wú)需考慮線程安全性,所以使用StringBuilder.

package com.alan.string;

public class StringDemo5 {

    public static void main(String[] args) {
        
        //定于一個(gè)字符串“你好” 
        StringBuilder str = new StringBuilder("你好");
        str.append(",alan");
        
        System.out.println(str);
        
        //將字符串變成"你好,ALAN"
        //方式1
        System.out.println(str.delete(3, 7).insert(3, "ALAN"));
        //方式2
        System.out.println(str.replace(3, 7, "ALAN"));
        //最后存在堆中的內(nèi)容
        System.out.println(str);
    }
}
?著作權(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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 1、什么是 Java 中的字符串 在程序開(kāi)發(fā)中字符串無(wú)處不在,如用戶(hù)登陸時(shí)輸入的用戶(hù)名、密碼等使用的就是字符串。其...
    夏沫xx閱讀 1,351評(píng)論 0 2
  • 從網(wǎng)上復(fù)制的,看別人的比較全面,自己搬過(guò)來(lái),方便以后查找。原鏈接:https://www.cnblogs.com/...
    lxtyp閱讀 1,442評(píng)論 0 9
  • 廢話(huà)不多說(shuō),自己進(jìn)入今天的主題 1、面向?qū)ο蟮奶卣饔心男┓矫妫?答:面向?qū)ο蟮奶卣髦饕幸韵聨讉€(gè)方面: - 抽象:...
    傳奇內(nèi)服號(hào)閱讀 2,538評(píng)論 1 31
  • 五古.窗外桂花 文/中流擊水 銀月照冷桂,枝頭搖花蕊。 無(wú)意推開(kāi)窗,馨香惹人醉。
    楚山漢水閱讀 238評(píng)論 2 4
  • 試妝就意味著你覺(jué)得那些小細(xì)節(jié)可以做得更好的,化妝師都會(huì)慢慢給你調(diào)整。雖然就只是一個(gè)小細(xì)節(jié)的問(wèn)題,但也可能需要調(diào)整...
    來(lái)自小蕾的分享閱讀 433評(píng)論 0 0

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