標籤: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和封裝器類型