天天看點

Java源碼___String類(十)

 java.lang.String分析摘要:

<1>toCharArray()方法

<2>format重載方法

<3>valueOf重載方法

<4>copyValueOf重載方法

<5>intern()方法

1.toCharArray()方法

 該方法會傳回this字元串拆成的char數組。

public char[] toCharArray(){
    char[] result = new char[value.length];
    System.arraycopy(value, , result, , value.length);
}
           

這個方法是的屬性有:public公有。

傳回值:char[]類型

傳回值說明:傳回this字元串轉換的char數組。

2. format重載方法

 該方法的作用是傳回格式化後,填充的字元串

public static String format(String format, Object... args){
    return new Formatter().format(format,args).toString();
}

public static String format(Locale l, String format, Object... args){
    return new Formatter(l).format(format, args).toString();
}
           

這個方法是的屬性有:public公有、static靜态。

參數:locale

國際化對象,裡面存儲了一些國際化的資訊,比如語言方式等

參數:formmat

格式化形式

參數:【Object…】 args

分别要格式化的字元序列

傳回值:String類型

傳回值說明:傳回格式化後,填充的字元串,比如%s就是一中formar。

3.valueOf重載方法

 該方法提供了别的類轉換成String的方法。

//傳回将字元數組合成的String類
//data: 字元數組
public staitc String valueOf(char[] data){
    return new String(data);
}

public static String valueOf(char[] data, int offset, int count){
    return new String(data, offset, count);
}

public static String valueOf(boolean b){
    return b?"true":"false";
}

public static String valueOf(char c){
    char[] data = {c};
    return new String(data,true);
}

public static String valueOf(int i){
    return Integer.toString(i);
}

public static String valueOf(long l){
    return Long.toString(l);
}

public static String valueOf(float f){
    return Float.toString(f);
}

public static String valueOf(double d){
    return Double.toString(d);
}
           

 方法注意:該方法提供了基本類型轉成String類的方法還有char數組,不做過多闡述。

 /font>

4. copyValueOf重載方法

public static String copyValueOf(char[] data, int offset, int count){
    return new String(data,offset, count);
}

public static String copyValueOf(char[] data){
    return new String(data);
}
           

這個方法是的屬性有:public公有、staitc靜态。

傳回值:String類型

傳回值說明:傳回将char數組組成的字元串。

 /font>

5. intern()方法

 傳回字元串對象的規範化表示形式。。

一個初始時為空的字元串池,它由類 String 私有地維護。

當調用 intern 方法時,如果池已經包含一個等于此 String 對象的字元串(該對象由 equals(Object) 方法确定),則傳回池中的字元串。否則,将此 String 對象添加到池中,并且傳回此 String 對象的引用。

它遵循對于任何兩個字元串 s 和 t,當且僅當 s.equals(t) 為 true 時,s.intern() == t.intern() 才為 true。

所有字面值字元串和字元串指派常量表達式都是内部的。

傳回:

一個字元串,内容與此字元串相同,但它保證來自字元串池中。

public native String intern();
           

這個方法是的屬性有:public公有、native本地方法。

 該方法注意點:

盡管在輸出中調用intern方法并沒有什麼效果,但是實際上背景這個方法會做一系列的動作和操作。在調用”ab”.intern()方法的時候會傳回”ab”,但是這個方法會首先檢查字元串池中是否有”ab”這個字元串,如果存在則傳回這個字元串的引用,否則就将這個字元串添加到字元串池中,然會傳回這個字元串的引用。

繼續閱讀