一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - JAVA中String類與StringBuffer類的區別

JAVA中String類與StringBuffer類的區別

2020-07-20 13:31令仔很忙 Java教程

這篇文章主要為大家詳細介紹了JAVA中String類與StringBuffer類的區別,具有一定的參考價值,感興趣的小伙伴們可以參考一下

在Java中有兩種字符串的操作:String類和StringBuffer類(緩沖字符串處理類)。
下面先簡單的說一下兩者的區別。
String類和StringBuffer類都提供了相應的方法實現字符串的操作,但二者略有不同。

(1) String類
該類一旦產生一個字符串,其對象就不可變。String類的內容和長度是固定的。如果程序需要獲得字符串的信息需要調用系統提供的各種字符串操作方法實現。雖然通過各種系統方法可以對字符串施加操作,但這并不改變對象實例本身,而是生成一個新的實例。系統為String類對象分配內存,是按照對象所包含的實際字符數分配的。

(2) StringBuffer類
查了查Buffer這個詞,有緩沖的意思,這個類肯定有緩沖的功能。該類處理可變的字符串。如果要修改一個StringBuffer類的字符串,不需要再創建新的字符串對象,而是直接操作原來的串。該類的各種字符串操作方法與String類提供的方法不相同。系統為StringBuffer類分配內存時,除去當前字符所占的空間外,還提供另外的16個字符大小的緩沖區。每個StringBuffer對象都有一定的緩沖區容量,當字符串大小沒有超過容量時,不會分配新的容量,當字符串大小超過容量時,會自動增加容量。

下面來舉一些具體的實例

字符串的連接

String類有兩種方法

第一種(“+”)

?
1
2
3
4
5
6
7
public class str{
  public static void main(String[] args){
      String str1="加特效!";
      String str2="Duang~~";
      System.out.println(str1+" "+str2);
    }
  }

第二種(”concat”)

?
1
2
3
4
5
6
7
public class str{
  public static void main(String[] args){
      String str1="加特效!";
      String str2="Duang~~";
      System.out.println(str1.concat(str2));
    }
  }

StringBuffer類的方法

?
1
2
3
4
5
6
7
8
9
public class str{
  public static void main(String[] args){
    //構建一個緩沖字符串的對象sb
    StringBuffer sb=new StringBuffer("加特效!");
    //通過append方法,在這個對象后面添加一個新字符串
    sb.append(" Duang~~");
    System.out.println(sb);
  }
}

最終輸出的結果都為:加特效! Duang~~

通過上面的例子不難看出,String類在進行擴展的時候,需要實例兩個對象,每個對象都會占用一定的內存,而StringBuffer類就不需要再實例化一個新的類,只需要調用一個擴展的方法就可以了。

還有一點StringBuffer類的內存容量是可擴展的。舉個具體的例子:

?
1
2
3
4
5
6
7
8
9
public class str{
  public static void main(String[] args){
     //聲明字符串對象sb
      StringBuffer sb=new StringBuffer(40);
      System.out.println(sb.capacity());   //輸出字符串的容量capacity
      sb.ensureCapacity(100);         //擴充容量
      System.out.println(sb.capacity());   //輸出字符串的容量capacity
    }
  }

capacity()方法代表了字符串對象在內存中,可以容納字符串的個數。如果想要擴充內存容量,可以使用方法ensureCapacity()。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 男人天堂网在线 | 无人区在线观看免费视频国语 | 国产性色视频 | 2022天天干 | 精品国产香蕉 | 亚洲精品国精品久久99热 | 国产思妍小仙女一二区 | 99热免费在线 | 日本三级斤 | 亚洲天堂一区二区在线观看 | 欧美精品国产第一区二区 | 91高跟丝袜 | 国语刺激对白勾搭视频在线观看 | 久久综合视频网站 | 国产无套在线播放 | 日韩欧美在线观看综合网另类 | 免费看成人毛片日本久久 | 久久天堂成人影院 | 国产精品免费看久久久香蕉 | yy6080午夜国产免费福利 | hd在线观看免费高清视频 | 国产91对白在线观看 | gaychinese男男2022 | 欧美日韩在线观看一区二区 | 免费国产之a视频 | 国内精品久久久久影院中国 | 亚洲天堂色视频 | 岛国片免费观看 | 奇米网狠狠网 | 92福利网 | 亚洲精品影视 | 香蕉国产成版人视频在线观看 | 国内精品九一在线播放 | 精品久久久久久 | 亚洲国产精品久久丫 | 国产探花在线视频 | 国产精品久久久久久吹潮 | 2018天天拍拍拍免费视频 | 国产福利在线观看第二区 | 吻戏辣妞范1000免费体验 | 2019天天干天天操 |