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

java_String和StringBuffer區(qū)別分析

 更新時間:2013年04月14日 10:45:46   作者:  
JAVA平臺提供了兩個類:String和StringBuffer,它們可以儲存和操作字符串,即包含多個字符的字符數(shù)據(jù)。這個String類提供了數(shù)值不可改變的字符串。

而這個StringBuffer類提供的字符串進行修改。當(dāng)你知道字符數(shù)據(jù)要改變的時候你就可以使用StringBuffer。典型地,你可以使用StringBuffers來動態(tài)構(gòu)造字符數(shù)據(jù)。

在java中有3個類來負責(zé)字符的操作。

1.Character 是進行單個字符操作的,

2.String 對一串字符進行操作。不可變類。

3.StringBuffer 也是對一串字符進行操作,但是可變類。

String:
是對象不是原始類型.
為不可變對象,一旦被創(chuàng)建,就不能修改它的值.
對于已經(jīng)存在的String對象的修改都是重新創(chuàng)建一個新的對象,然后把新的值保存進去.
String 是final類,即不能被繼承.

StringBuffer:
是一個可變對象,當(dāng)對他進行修改的時候不會像String那樣重新建立對象
它只能通過構(gòu)造函數(shù)來建立,
StringBuffer sb = new StringBuffer();
note:不能通過付值符號對他進行付值.
sb = "welcome to here!";//error
對象被建立以后,在內(nèi)存中就會分配內(nèi)存空間,并初始保存一個null.向StringBuffer
中付值的時候可以通過它的append方法.
sb.append("hello");

以上為摘抄,網(wǎng)上常見的,以下為自己添加的見解:

地址不可更改,長度和內(nèi)容可改。append()方法是追加,超過預(yù)留內(nèi)存時,內(nèi)存翻倍。

效率比較:StringBuffer比String高。因為StringBuffer有預(yù)留空間一直追加,只是對一個對象進行操作。而String是不能被修改的,只能重復(fù)的去創(chuàng)建對象來實現(xiàn)修改。——如果頻繁的對字符串進行追加、替換、修改、插入、刪除操作,最好使用StringBuffer。如果必須用String可以使用StringBuffer調(diào)用toString()來轉(zhuǎn)換成String即可。

復(fù)制代碼 代碼如下:

public static void main(String[] args) {
         String a="";
         long begin=System.currentTimeMillis();
         for (int i = 0; i <10000; i++) {
             a+=i;
         }
         long end=System.currentTimeMillis();
         System.out.println("String運行時間:"+(end-begin));
         System.out.println("-----------------");
         StringBuffer b=new StringBuffer();
         long begin2=System.currentTimeMillis();
         for (int i = 0; i <10000; i++) {
             b.append(i);
         }
         long end2=System.currentTimeMillis();
         System.out.println("StringBuffer運行時間:"+(end2-begin2));
     }

我的機子比較垃圾,執(zhí)行下來結(jié)果是

String運行時間:164593
-----------------
StringBuffer運行時間:31

而且String有contains方法,而StringBuffer沒有。contains是包含的意思,這里可以在回憶下contains方法

復(fù)制代碼 代碼如下:

 public static void main(String[] args) {
         String a="abc";
         boolean str=a.contains("b");
         System.out.println(str);
     }

執(zhí)行結(jié)果為

true

相關(guān)文章

  • Java使用FastExcel高效讀取和寫入Excel

    Java使用FastExcel高效讀取和寫入Excel

    FastExcel 是一個 Java 庫,旨在高效地讀取和寫入 Excel 文件,它最初是 EasyExcel 的分叉版本,旨在提供增強的性能、持續(xù)維護和新功能,同時保持與原始 EasyExcel API 的兼容性,本文給大家介紹了Java如何使用FastExcel高效讀取和寫入Excel,需要的朋友可以參考下
    2025-11-11
  • Mybatis ResultType如何處理返回類型

    Mybatis ResultType如何處理返回類型

    這篇文章主要介紹了Mybatis ResultType如何處理返回類型方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • IDEA使用JDK21控制臺亂碼問題及解決

    IDEA使用JDK21控制臺亂碼問題及解決

    在使用IntelliJ IDEA開發(fā)時,經(jīng)常會遇到因編碼不一致導(dǎo)致的中文亂碼問題,特別是在JDK18以后的版本中,由于JDK內(nèi)部默認編碼格式變?yōu)镚BK,而項目設(shè)置為UTF-8后,會導(dǎo)致亂碼問題,本文介紹了幾個步驟來解決這一問題
    2024-10-10
  • Java使用jxl庫輕松玩轉(zhuǎn)Excel表操作

    Java使用jxl庫輕松玩轉(zhuǎn)Excel表操作

    jxl?是一個非常實用的?Java?庫,專門用于操作?Excel?表格,這篇文章主要為大家介紹了如何使用jxl進行Excel的基本操作,有需要的可以了解下
    2025-02-02
  • 劍指Offer之Java算法習(xí)題精講字符串與二叉搜索樹

    劍指Offer之Java算法習(xí)題精講字符串與二叉搜索樹

    跟著思路走,之后從簡單題入手,反復(fù)去看,做過之后可能會忘記,之后再做一次,記不住就反復(fù)做,反復(fù)尋求思路和規(guī)律,慢慢積累就會發(fā)現(xiàn)質(zhì)的變化
    2022-03-03
  • SpringBoot集成Lettuce客戶端操作Redis的實現(xiàn)

    SpringBoot集成Lettuce客戶端操作Redis的實現(xiàn)

    本文主要介紹了SpringBoot集成Lettuce客戶端操作Redis的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-11-11
  • java集合繼承關(guān)系圖分享

    java集合繼承關(guān)系圖分享

    這篇文章主要為大家詳細介紹了java集合繼承關(guān)系圖,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • java hasNextInt判斷是否為數(shù)字的方法

    java hasNextInt判斷是否為數(shù)字的方法

    今天小編就為大家分享一篇java hasNextInt判斷是否為數(shù)字的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • java簡單模仿win10計算器

    java簡單模仿win10計算器

    這篇文章主要為大家詳細介紹了java簡單模仿win10計算器de,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • java 中String.equals和==的比較

    java 中String.equals和==的比較

    這篇文章主要介紹了java 中String.equals和==的比較的相關(guān)資料,需要的朋友可以參考下
    2017-08-08

最新評論

临邑县| 衡水市| 金坛市| 凤山县| 拉萨市| 双城市| 磐安县| 庆元县| 安溪县| 齐河县| 清徐县| 石嘴山市| 长阳| 嘉黎县| 松滋市| 同江市| 永靖县| 新兴县| 当涂县| 定州市| 肇庆市| 泰顺县| 黄大仙区| 彭州市| 高平市| 罗江县| 巴林右旗| 麻栗坡县| 嘉兴市| 内江市| 洮南市| 沐川县| 萨嘎县| 望江县| 汶上县| 云南省| 长春市| 天长市| 崇阳县| 古浪县| 阿巴嘎旗|