Java中的StringBuffer、StringBuilder和封裝器類型

來源:互聯網
上載者:User

標籤:buffer   封裝類   oid   必須   lan   padding   body   判斷   pac   

1.如何使用StringBuffer類?

答:1).StringBuffer類用於表示可以修改的字串,稱為字串緩衝對象;

   2).使用運算子的字串將自動建立字串緩衝對象;

     例:str1 + str2的操作,實際上把str1與str2都建立成StringBuffer類對象;

2.StringBuffer類的構造方法有哪些常用的重載方式?

答:StringBuffer()        建立一個空的StringBuffer對象,預設保留16個字元的緩衝空間

   StringBuffer(String str)  根據字串str的內容建立StringBuffer對象,並預設保留16個字元的緩衝空間

   StringBuffer(int capacity)   建立一個空的StringBuffer對象,緩衝空間大小由capacity指定

3.StringBuffer類有哪些常用方法?

答:*StringBuffer insert(int index, x x);

    將x插入到索引為index的位置,x可以為任何類型的資料

    *Int length() ;

    獲得當前StringBuffer對象的長度

    *Void setCharAt(int index,char ch);

    使用ch 指定的新值替換index指定的位置上的字元

    *String toString();

    轉換為字串形式

    *StringBuffer reverse();

    將當前StringBuffer對象中的字元序列倒置

    *StringBuffer delete(int start, int end);

    刪除當前對象中從start位置開始直到end指定的索引位置的字元序列

     *StringBuffer deleteCharAt(int index);

    將刪除index指定的索引處的字元

     *StringBuffer replace(int start, int end, String str);

    此方法使用一組字元替換另一組字元。將用替換字串從start指定的位置開始替換,直到end指定的位置結束

4.String類和StringBuffer類有什麼區別?

   答:1).在Java中一旦建立了字串就不能直接更改,這就是字元String的不變性;

    2)而StringBuffer類正是針對此問題而提供的字元可變序列;

    3).StringBuffer與String是同等的類,唯一區別是可以變更;

5.什麼是StringBuilder?

   答:1).JDK 1.5以後,提供了一個新的字元緩衝區:StringBuilder;

    2).提供和StringBuffer相似的API;

    3).非安全執行緒

6.StringBuffer和StringBuilder有什麼區別?

    答:

 

StringBuffer

StringBuilder

線程是否安全

安全

不安全

效率

相對低

相對高

      

     

 

         

 7.如何使用封裝器類(Wrapper類)?

     答:1).使用基礎資料型別 (Elementary Data Type)聲明的變數,如:

                 int num = 10;

           這裡的num只是一個變數,而不是對象;

         2).在某些必須操作對象的場合,這樣的變數就不能使用了;

         3).Java提供一系列封裝類,以便將基礎資料型別 (Elementary Data Type)當作對象進行操作;

         4).在java.lang包中,對於每個基礎資料型別 (Elementary Data Type)都有一個相應的封裝類。

    

 

 

 8.每個基礎資料型別 (Elementary Data Type)對應的封裝器類是什嗎?

  答:

基礎資料型別 (Elementary Data Type)

封裝類

boolean(布爾型)

Boolean

byte(位元組型)

Byte

char(字元型)

Character

short(短整型)

Short

int(整形)

Integer

long(長整型)

Long

Float(浮點型)

Float

double(雙精確度浮點型)

Double

 

9.如何使用valueOf方法?舉例說明

  答:每個封裝類都有一個靜態valueOf方法,用於將字串轉換成相應封裝類的對象。

    public class LangDemo{

     public static void main(String[] args){

String str = “120”;

//如果轉換失敗,將會引發NumberFormatException異常

Byte objByte = Byte.valueOf(str);

Short objShort = Short.valueOf(str);

Integer objInt = Integer.valueOf(str);

Long objLong = Long.valueOf(str);

 

System.out.println(objByte);

System.out.println(objShort);

System.out.println(objInt);

System.out.println(objLong);

 

}

}

 10.什麼是封裝類的parseXxx方法?有哪些注意事項?舉例說明

     答:除了Boolean類和Character類以外,其它的封裝類都有靜態parseXxx方法(Xxx指代具體的資料類型),用於將字串轉換成相對應的基礎資料型別 (Elementary Data Type)值。

       Public class ParseTest{

         public static void main(String[] args){

           String str = “116”;

           //分別調用各個封裝器類的paseXxx方法對字串進行轉換,如果轉換失敗,將報異常

          int i = Integer.paeseInt(str);

          short s = Short.parseShort(str);

          byte b = Byte.parseShort(str);

          long l = Long.parseLong(str);

          float f = Float.parseFloat(str);

          double d = Double.parseDouble(str);

 

          System.out.println(i);

          System.out.println(s);

System.out.println(b);

System.out.println(l);

System.out.println(f);

System.out.println(d);

}

}

 

 

 

 

 

 

 

11.Character類中有哪些常用方法?舉例說明

  答:

  

方法原型

說明

boolean isLetter(char ch)

判斷字元ch是否為英文字母

boolean isDigit(char ch)

判斷字元ch是否為0---9之間的數字

boolean isUpperCase(char ch)

判斷字元ch是否為大寫形式

Boolean isLowerCase(char ch)

判斷字元ch是否為小寫形式

boolean isWhitespace(char ch)

判斷字元ch是否為空白格或分行符號

注意:以上方法都是靜態方法,可以直接通過類名調用,傳回值均為boolean類型,如果返回true,否則返回false。

例:

 Public class CharacterDemo{

  Public static void main(String[] args){

char[] charArray = {‘*’, ‘7’, ‘b’, ‘’, ‘A’};

for(int I = 0;i < charArray.length;i++){

 if(Character.isDigit(charArray[i])){

System.out.println(charArray[i]) + “是一個數字。”);

}

 if(Character.isLetter(charArray[i])){

System.out.println(charArray[i]) + “是一個字母。”);

}

if(Character.isWhitespace(charArray[i])){

System.out.println(charArray[i]) + “是一個空格。”);

}

if(Character.isLowerCase(charArray[i])){

System.out.println(charArray[i]) + “是小寫形式。”);

}

if(Character.isUpperCase(charArray[i])){

System.out.println(charArray[i]) + “是大寫形式。”);

}

 

}

}

}

12.什麼是封裝類的拆裝箱?舉例說明

答:JDK5.0以後提供了自動封解箱的操作

Public static void main(String[] args){

      int x = 1;

      Integer y = x;

      y++;  //裝箱

      System.out.println(“y=” +y+  “z=” +z);

}

Java中的StringBuffer、StringBuilder和封裝器類型

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.