getChars
/***
* 将此字符串中的字符复制到目标字符数组
* @param 字符串中要复制的第一个字符的索引
* @param 字符串中要复制的最后一个字符之后的索引(不包括该字符)
* @param 目标数组
* @param 目标数组中的起始偏移量
* 说明:以下任一项为true将会抛出IndexOutOfBoundsException异常
* 1.srcBegin为负
* 2.srcBegin大于 srcEnd
* 3.srcEnd大于此字符串的长度
* 4.dstBegin为负
* 5.dstBegin+(srcEnd-srcBegin)大于 dst.length
*/
public void getChars(int srcBegin, int srcEnd, char dst[], int dstBegin) {
if (srcBegin < 0) {
throw new StringIndexOutOfBoundsException(srcBegin);
}
if (srcEnd > value.length) {
throw new StringIndexOutOfBoundsException(srcEnd);
}
if (srcBegin > srcEnd) {
throw new StringIndexOutOfBoundsException(srcEnd - srcBegin);
}
System.arraycopy(value, srcBegin, dst, dstBegin, srcEnd - srcBegin);
}
valueOf
该方法有以下几种形式,分别对应不同的输入类型
/** 返回 Object 参数的字符串表示形式 */
public static String valueOf(Object obj) {
return (obj == null) ? "null" : obj.toString();
}
/**
* 返回 boolean 参数的字符串表示形式
* 说明:如果参数为 true,则返回一个等于 "true" 的字符串;
* 否则,返回一个等于 "false" 的字符串。
*/
public static String valueOf(boolean b) {
return b ? "true" : "false";
}
/** 返回 char 参数的字符串表示形式 */
public static String valueOf(char c) {
char data[] = {c};
return new String(data, true);
}
/** 返回 int 参数的字符串表示形式 */
public static String valueOf(int i) {
return Integer.toString(i);
}
/** 返回 long 参数的字符串表示形式 */
public static String valueOf(long l) {
return Long.toString(l);
}
/** 返回 float 参数的字符串表示形式 */
public static String valueOf(float f) {
return Float.toString(f);
}
/** 返回 double 参数的字符串表示形式 */
public static String valueOf(double d) {
return Double.toString(d);
}
/**
* 返回 char 数组参数的特定子数组的字符串表示形式
* 说明:字符数组的内容已被复制,后续修改不会影响新创建的字符串
*/
public static String valueOf(char data[], int offset, int count) {
return new String(data, offset, count);
}