最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java?String類和StringBuffer類的區(qū)別介紹

 更新時間:2022年04月06日 17:01:11   作者:china_zyb  
這篇文章主要介紹了Java?String類和StringBuffer類的區(qū)別,?關(guān)于java的字符串處理我們一般使用String類和StringBuffer類有什么不同呢,下面我們一起來看看詳細(xì)介紹吧

 關(guān)于java的字符串處理我們一般使用String類和StringBuffer類

那么String類和StringBuffer類的區(qū)別在什么地方呢?

  • 1、String是不可變的、StringBuffer是可變的。在程序中如果定義String s = "this is a string".那么在以后的應(yīng)用中不能對s進行任何修改只能進行諸如subString等操作,如果想進行改動只能重新new一個string而不是對原來的s進行改動.而對于StringBuffer卻是可以改變的,在程序中定義StringBuffer s ="This is a",對于StringBuffer可以使用append和insert等函數(shù),如s.append("string")結(jié)果就是s="This is a string".
  • 2、String類提供了一些方法,用來進行字符串的比較。這個類實現(xiàn)了Object父類的equals()方法,用來比較兩種字符串的值是否相等。同時還增加了equalsIgnoreCase()方法可以忽略兩個字符串大小寫的區(qū)別。但是StringBuffer類并沒有實現(xiàn)Objcet類的Equals方法,所以不能用這個方法來比較兩個StringBuffer類的字符串是否相等。除了用equalse方法來比較兩個字符串外,還可以用==來比較字符串。與equalse方法不同的是,==不是比較兩個字符串的值是否相等,而是比較幾個字符串的引用是否指向同一個實例。
  • 3、StringBuffer的效率并不一定比string高,如對于String s1 ="This "+“is”+"a"+"string"和StringBuffer s2="":s2.append(""This");s2.append("is");s2.append("a");s2.append("string").測試發(fā)現(xiàn)前者明顯比后者效率高。原因是,在定義s1時,編譯時即可使得s1="This is a string",而s2需要等到運行時才能確定。
  • 4、當(dāng)然了,一般情況下,StringBuffer是要比String效率高些的

與包裝類相似,String類是不可以改變的,從而不能修改字符串的值,所以必須創(chuàng)建一個新的字符串來存放,每次都重新開辟了一個內(nèi)存空間。

如果字符串較少的話我們可以使用String 類,如果文件有幾百成千個字節(jié)又會怎么樣呢.

相反,我們提供另一個類Stingbuffer 來對字符串進行操作。

String類常用方法:

 char charAt(int index);  返回index索引位置的字符

 int length(); 返回字符串的長度。

 String substring(int beginindex,int endindex)返回一個新的字符串,其值是beginindex索引位置到endindex索引位置。

 String trim(); 去除字符串兩邊的空格,并返回一個新的字符串。

 String toLowerCase(); 將字符串中的所以大寫字母轉(zhuǎn)換成小寫字母,已有大寫字母則不需要轉(zhuǎn)換,并返回一個新的字符串。

 String toUpperCase();String toLowerCase(); 將字符串中的所以小‘寫字母轉(zhuǎn)換成小寫字母,已有小寫字母則不需要轉(zhuǎn)換,并返回一個新的字符串。

 boolean equals(String str);本對象中的字符串與str對象字符串進行比較(區(qū)分大小寫) 返回一個boolean值

 String replace(char oldChar, char newChar);將舊的字符串(oldChar)換成新的字符串(newChar)

String類方法:

 主要方法

 append();向字符串末尾添加數(shù)據(jù),而不像String類重新開辟空間存放新的內(nèi)容

 insert();根據(jù)方法的重載傳遞不同的參數(shù),在指定的位置對字符串進行插入子字符串。

例:

?String str = "how ";

??str += "are ";

?str +="you";

 如果我們打印str的最終結(jié)果是how are you 是我們所期望的,內(nèi)存里面的變化:

 how

 how are

 how are you

 String類使用重載加法運算符,在字符串表中創(chuàng)建新的條目,上面一共創(chuàng)建了三條。

 當(dāng)處理的字符串過多時,上面的做法就很耗費內(nèi)存。

?StringBuffer str = new StringBuffer("how");

?//向str末尾添加字符串

?str.append("are ");

?str.append( "you");

 將需要處理字符串交給StringBuffer類處理 ,

 每個字符串緩沖區(qū)都有一定的容量。只要字符串緩沖區(qū)所包含的字符序列的長度沒有超出此容量,

 就無需分配新的內(nèi)部緩沖區(qū)數(shù)組。如果內(nèi)部緩沖區(qū)溢出,則此容量自動增大。而不是重新聲明新的對象

 這樣的話就不會耗費內(nèi)存!

到此這篇關(guān)于Java String類和StringBuffer類的區(qū)別介紹的文章就介紹到這了,更多相關(guān)Java String類與StringBuffer類內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Springboot訪問templates html頁面過程詳解

    Springboot訪問templates html頁面過程詳解

    這篇文章主要介紹了Springboot訪問templates html頁面過程詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-05-05
  • Java數(shù)據(jù)結(jié)構(gòu)之KMP算法的實現(xiàn)

    Java數(shù)據(jù)結(jié)構(gòu)之KMP算法的實現(xiàn)

    這篇文章主要為大家詳細(xì)介紹了Java數(shù)據(jù)結(jié)構(gòu)中KMP算法的原理與實現(xiàn),文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)Java有一定的幫助,需要的可以參考一下
    2022-11-11
  • springboot項目如何部署到服務(wù)器

    springboot項目如何部署到服務(wù)器

    這篇文章主要介紹了springboot項目如何部署到服務(wù)器問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • java String類型對象轉(zhuǎn)換為自定義類型對象的實現(xiàn)

    java String類型對象轉(zhuǎn)換為自定義類型對象的實現(xiàn)

    本文主要介紹了java String類型對象轉(zhuǎn)換為自定義類型對象的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 從零實現(xiàn)一個簡單的Spring Bean容器的代碼案例

    從零實現(xiàn)一個簡單的Spring Bean容器的代碼案例

    Spring是一個非常流行的Java?Web開發(fā)框架,它提供了強大的依賴注入、面向切面編程、聲明式事務(wù)管理等功能,為開發(fā)者提供了高效、快速地構(gòu)建Web應(yīng)用程序的工具,在這篇文章中,咱們將一步一步地構(gòu)建一個簡單的SpringBean容器,需要的朋友可以參考下
    2023-06-06
  • JAVA String.valueOf()方法的用法說明

    JAVA String.valueOf()方法的用法說明

    這篇文章主要介紹了JAVA String.valueOf()方法的用法說明,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-09-09
  • Java中String類startsWith方法詳解

    Java中String類startsWith方法詳解

    這篇文章主要給大家介紹了關(guān)于Java中String類startsWith方法的相關(guān)資料,startsWith() 方法用于檢測字符串是否以指定的前綴開始,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-05-05
  • java實戰(zhàn)小技巧之字符串與容器互轉(zhuǎn)詳解

    java實戰(zhàn)小技巧之字符串與容器互轉(zhuǎn)詳解

    Java.lang.String是Java的字符串類. Srting是一個不可變對象,下面這篇文章主要給大家介紹了關(guān)于java實戰(zhàn)小技巧之字符串與容器互轉(zhuǎn)的相關(guān)資料,需要的朋友可以參考下
    2021-08-08
  • Scala中Array和List的區(qū)別說明

    Scala中Array和List的區(qū)別說明

    這篇文章主要介紹了Scala中Array和List的區(qū)別說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • 學(xué)習(xí)SpringMVC——國際化+上傳+下載詳解

    學(xué)習(xí)SpringMVC——國際化+上傳+下載詳解

    本篇文章主要介紹了學(xué)習(xí)SpringMVC——國際化+上傳+下載,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。
    2016-12-12

最新評論

信丰县| 肃宁县| 吉隆县| 金溪县| 凤山市| 江都市| 军事| 崇信县| 黄大仙区| 屯昌县| 吴旗县| 手游| 双江| 婺源县| 应城市| 康定县| 榕江县| 广饶县| 石泉县| 正安县| 太保市| 泰顺县| 嘉黎县| 逊克县| 绥中县| 新沂市| 莱芜市| 郧西县| 拉孜县| 华蓥市| 桂平市| 岚皋县| 宁乡县| 汶川县| 金昌市| 德昌县| 漳平市| 石首市| 新野县| 色达县| 二连浩特市|