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, 0, result, 0, 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”这个字符串,如果存在则返回这个字符串的引用,否则就将这个字符串添加到字符串池中,然会返回这个字符串的引用。

猜你喜欢

转载自blog.csdn.net/pseudonym_/article/details/80492285