溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

大數(shù)據(jù)字符串怎么轉(zhuǎn)換

發(fā)布時間:2021-12-22 15:51:36 來源:億速云 閱讀:141 作者:iii 欄目:大數(shù)據(jù)

這篇文章主要講解了“大數(shù)據(jù)字符串怎么轉(zhuǎn)換”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“大數(shù)據(jù)字符串怎么轉(zhuǎn)換”吧!

不可變字符串:----String.字符串本身不能發(fā)生改變,與指向字符串的引用無關(guān)。

        String s1 = "1000phone";

可變字符串:----StringBuilder/StringBuffer.字符串本身可以發(fā)生變化,與指向可變字符串的引用無關(guān)

        StringBuffer sBuffer = new StringBuffer("1000phone");

不可變字符串本身是一個常量,保存在常量區(qū),是存儲在了堆區(qū)中一塊兒特殊的區(qū)域里。

字符串常量的特點(diǎn):同一個字符串常量在常量區(qū)只允許存儲一個。

    String s = "1000phone";//不可變字符串

     當(dāng)執(zhí)行s的時候,會到常量區(qū)找叫1000phone的字符串,如果有直接讓s保存他的地址,如果沒有,會在常量區(qū)開辟一塊兒空間存1000phone.

    String s3 = new String("1000phone");

     執(zhí)行s3時,由于進(jìn)行了new,一定會現(xiàn)在堆中開辟一塊兒空間,而1000phone是作為參數(shù)傳給了對象.保存在了對象的一個String

使用equals進(jìn)行String的比較

2.轉(zhuǎn)換:

將字符數(shù)組轉(zhuǎn)換成字符串

     char[] arr = {'p','h','o','n','e'};

     String string1 = new String(arr);  //string1 = phone

將字符串轉(zhuǎn)換成字符數(shù)組

    char[] arr1 = string.toCharArray();

    System.out.println(arr1);

將字節(jié)數(shù)組轉(zhuǎn)成字符串

        //String(byte[] bytes) 

        //String(byte[] bytes, int offset, int length)

        //String(byte[] bytes, String charsetName)//使用指定的編碼將字節(jié)數(shù)組轉(zhuǎn)換成字符成

        byte[] bytes = {97,98,99,100};

        String string3 = new String(bytes);

        System.out.println(string3); //abcd

將字符串轉(zhuǎn)成字節(jié)數(shù)組

        //byte[] getBytes() 

        byte[] bytes1 = string3.getBytes();

將基本數(shù)據(jù)類型轉(zhuǎn)換成字符串

        //String.valueOf()

        String string4 = String.valueOf(true);

        System.out.println(string4);//true

子串:

    //包含起始位置,不包含結(jié)束位置,到結(jié)束位置的前一位

    String substring(int beginIndex, int endIndex);

大小寫轉(zhuǎn)換

        String toLowerCase();  // 轉(zhuǎn)成小寫

        String toUpperCase();  // 轉(zhuǎn)成大寫

按字典順序比較兩個字符串

    字典順序:按照ASCII表比較當(dāng)前的兩個字符,ASCII碼大的認(rèn)為是大的字符

    規(guī)則:從左邊第一個字符開始比較

    如果當(dāng)前的字符不相同,直接認(rèn)為ASCII大的字符串是大字符串,后面的字符停止比較

    當(dāng)前字符比較的具體規(guī)則:使用前面的字符-后面的字符,返回差值.如果是負(fù)數(shù),說明前面的字符串小于后面的.反之前面的大.

    如果當(dāng)前的字符相同,再去比較第二個字符,依次往后推,如果比到最后都相同,則認(rèn)為兩個字符串相等,差值返回0.

        "1000PHone".compareTo("1000PHone");//0

        "1000AHone".compareTo("1000BHone");//-1

        "100000".compareTo("100");//-3

可變字符串:

 字符串緩沖區(qū).StringBuffer/StringBuilder

 區(qū)別:

 StringBuffer:出現(xiàn)在jdk1.0,是線程安全的,考慮了線程安全問題

 StringBuilder:出現(xiàn)在jdk1.5,是線程不安全的,沒有考慮線程安全問題

注意:在不考慮線程安全問題時,盡量使用StringBuilder,因?yàn)樗俣瓤?效率高

使用:

    StringBuffer sBuffer = new StringBuffer();

    //1.存儲:

    //StringBuffer append(boolean b)   從最后插入

    sBuffer.append("abcd"); //abcd

    //StringBuffer insert(int offset, boolean b)   從指定位置插入

    sBuffer.insert(4, 123);

    System.out.println(sBuffer);//abcd123

    //2.刪除:

    //StringBuffer delete(int start, int end)   刪除一部分字符串

    //StringBuffer deleteCharAt(int index)  刪除一個字符

    System.out.println(sBuffer.deleteCharAt(4));//abcd23

    System.out.println(sBuffer.delete(2,4)); //ab23

    //3.修改:

    //StringBuffer replace(int start, int end, String str)  替換指定的子字符串

    //void setCharAt(int index, char ch) 修改一個字符

    sBuffer.replace(1, 3, "ab") ; //aab3

    //4.獲?。?/p>

    //char charAt(int index) 

    System.out.println(sBuffer.charAt(0)); //a

    //返回指定子字符串的下標(biāo)  從左到右

    //int indexOf(String str)

    System.out.println(sBuffer.indexOf("ab"));//1

    //返回指定子字符串在此字符串中第一次出現(xiàn)處的索引,從指定的索引開始。

    System.out.println(sBuffer.indexOf("ab",0)); //1

    System.out.println(sBuffer.indexOf("ab",2)); //-1

    //int lastIndexOf(String str) 

    //返回指定子字符串(從右邊開始計(jì)數(shù))在此字符串第一次出現(xiàn)時的索引

    System.out.println(sBuffer.indexOf("ba")); //-1

    System.out.println(sBuffer.indexOf("ab")); //1

    //int lastIndexOf(String str, int fromIndex) 

    /返回指定字符在此字符串中最后一次出現(xiàn)處的索引,從指定的索引處開始進(jìn)行反向搜索。

    System.out.println(sBuffer.indexOf("ab",1)); //1

    //5.反轉(zhuǎn):

    //StringBuffer reverse()

System.out.println(sBuffer.reverse()); //3baa

感謝各位的閱讀,以上就是“大數(shù)據(jù)字符串怎么轉(zhuǎn)換”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對大數(shù)據(jù)字符串怎么轉(zhuǎn)換這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI