国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

JAVA中String類與StringBuffer類的區別

2019-11-26 13:21:53
字體:
來源:轉載
供稿:網友

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

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

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

下面來舉一些具體的實例

字符串的連接

String類有兩種方法

第一種(“+”)

public class str{  public static void main(String[] args){      String str1="加特效!";      String str2="Duang~~";      System.out.println(str1+" "+str2);    }  }

第二種(”concat”)

public class str{  public static void main(String[] args){      String str1="加特效!";      String str2="Duang~~";      System.out.println(str1.concat(str2));    }  }

StringBuffer類的方法

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類的內存容量是可擴展的。舉個具體的例子:

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()。

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 改则县| 黄冈市| 托里县| 玛沁县| 马鞍山市| 盐山县| 依兰县| 固阳县| 卢氏县| 交城县| 锡林浩特市| 河东区| 涞源县| 普兰店市| 洛阳市| 津南区| 灌云县| 克拉玛依市| 博客| 施甸县| 广汉市| 惠安县| 陈巴尔虎旗| 巩义市| 江北区| 西林县| 通江县| 临潭县| 浪卡子县| 龙胜| 玉门市| 镇远县| 耒阳市| 远安县| 杨浦区| 普兰县| 马山县| 德保县| 林州市| 新闻| 西乌珠穆沁旗|