Java的String數(shù)據(jù)類型介紹

本文以用Java的String數(shù)據(jù)類型為例,為大家String類的常用方法以及字符串常量池。閱讀完整文相信大家對(duì)Java的String有了一定的認(rèn)識(shí)。

成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),富蘊(yùn)企業(yè)網(wǎng)站建設(shè),富蘊(yùn)品牌網(wǎng)站建設(shè),網(wǎng)站定制,富蘊(yùn)網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營(yíng)銷,網(wǎng)絡(luò)優(yōu)化,富蘊(yùn)網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長(zhǎng)自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。

字符串廣泛應(yīng)用 在 Java 編程中,在 Java 中字符串屬于對(duì)象,Java 提供了 String 類來創(chuàng)建和操作字符串。但是String包含的內(nèi)容非常的復(fù)雜。以下是string一些常見知識(shí)點(diǎn)!

  1. String 屬于基礎(chǔ)的數(shù)據(jù)類型嗎?
    String 不屬于基礎(chǔ)類型,基礎(chǔ)類型有 8 種:byte、boolean、char、short、int、float、long、double,而 String 屬于對(duì)象。
  2. String str="i"與 String str=new String("i")一樣嗎?
    不一樣,因?yàn)閮?nèi)存的分配方式不一樣。String str="i"的方式,java 虛擬機(jī)會(huì)將其分配到常量池中;而 String str=new String("i") 則會(huì)被分到堆內(nèi)存中。
    3.String 類的常用方法都有那些?
    ?indexOf():返回指定字符的索引。
    ?charAt():返回指定索引處的字符。
    ?replace():字符串替換。
    ?trim():去除字符串兩端空白。
    ?split():分割字符串,返回一個(gè)分割后的字符串?dāng)?shù)組。
    ?getBytes():返回字符串的 byte 類型數(shù)組。
    ?length():返回字符串長(zhǎng)度。
    ?toLowerCase():將字符串轉(zhuǎn)成小寫字母。
    ?toUpperCase():將字符串轉(zhuǎn)成大寫字符。
    ?substring():截取字符串。
    ?equals():字符串比較。
  3. 如何將字符串反轉(zhuǎn)
    1.使用 StringBuilder 或者 stringBuffer 的 reverse() 方法。
    2.使用String的 toCharArray(),代碼如下:【不推薦使用】
    public static void main(String[] args) {  
    String str = "123456789";  
    char[] sc = str.toCharArray();  
    char[] nsc = new char[9];  
    int j = 0;  
    for (int i = sc.length-1; i >=0; i--) {  
    nsc[j] = sc[i];  
    j++;  
    }  
    String nstr = new String(nsc);  
    System.out.println(nstr);  
    }
    5 字符串常量池
    在Java的內(nèi)存分配中,總共3種常量池,分別是Class常量池、運(yùn)行時(shí)常量池、字符串常量池。
    字符串的分配和其他對(duì)象分配一樣,是需要消耗高昂的時(shí)間和空間的,而且字符串使用的非常多。JVM為了提高性能和減少內(nèi)存的開銷,在實(shí)例化字符串的時(shí)候進(jìn)行了一些優(yōu)化:使用字符串常量池。每當(dāng)創(chuàng)建字符串常量時(shí),JVM會(huì)首先檢查字符串常量池,如果該字符串已經(jīng)存在常量池中,那么就直接返回常量池中的實(shí)例引用。如果字符串不存在常量池中,就會(huì)實(shí)例化該字符串并且將其放到常量池中。由于String字符串的不可變性,常量池中一定不存在兩個(gè)相同的字符串。
    public static void main(String[] args) {  
    String str1 = "hello eric";  
    String str2 = "hello eric";  
    System.out.println(str1 == str2); // true  
    }
    6 intern方法
    直接使用雙引號(hào)聲明出來的String對(duì)象會(huì)直接存儲(chǔ)在字符串常量池中,如果不是用雙引號(hào)聲明的String對(duì)象,可以使用String提供的intern方法。intern 方法是一個(gè)native方法,intern方法會(huì)從字符串常量池中查詢當(dāng)前字符串是否存在,如果存在,就直接返回當(dāng)前字符串;如果不存在就會(huì)將當(dāng)前字符串放入常量池中,之后再返回。
    看完上述內(nèi)容,你們對(duì)Java的String數(shù)據(jù)類型有進(jìn)一步的了解嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀。

分享標(biāo)題:Java的String數(shù)據(jù)類型介紹
當(dāng)前鏈接:http://muchs.cn/article30/gceopo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管、網(wǎng)站排名、企業(yè)網(wǎng)站制作、網(wǎng)站營(yíng)銷關(guān)鍵詞優(yōu)化、品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)