package array;
import java.lang.*;
/**
* @author wbl
* 2017-1-6
* @describe 分析StringBuffer如何append
*/
public class ArrayTest {
public static void main(String[] args) {
StringBuilder sb2 = new StringBuilder("abc");
//这一步,源码AbstractStringBuilder类 value=char[8];count=3;
sb2.append("d");
//这一步, str.getChars(0, 1, value, 3); str.getChars(0, len, value, count);
//得出 char = abcd
char chr1[] = new char[8];
chr1[0] = 'a';
chr1[1] = 'b';
chr1[2] = 'c';
//getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
String str = "d000";
str.getChars(0, 1, chr1, 3);
System.out.print("char = ");
System.out.print(chr1[0]);
System.out.print(chr1[1]);
System.out.print(chr1[2]);
System.out.println(chr1[3]);
// arraycopy(Object src, int srcPos, Object dest, int destPos, int length)
//String类getchars方法 arraycopy(value, srcBegin, dst, dstBegin, srcEnd - srcBegin)
char chr2[] = { 'd'};
System.arraycopy(chr2, 0, chr1, 3, 1);
System.out.print("array2 = ");
System.out.print(chr1[0] + " ");
System.out.print(chr1[1] + " ");
System.out.print(chr1[2] + " ");
System.out.print(chr1[3] + " ");
}
}
StringBuffer的append源码解析(模拟源码)
最新推荐文章于 2021-08-26 17:09:31 发布