2009-06-21 45 views
2

如何在Android上以Java的指定索引将CharArrayBuffer复制到另一个CharArrayBuffer将CharArrayBuffer复制到另一个CharArrayBuffer

developer.android.com/reference/android/...

CharArrayBuffer stringBuffer1 = new CharArrayBuffer(128); 
System.arraycopy("Phone", 0, stringBuffer1.data, 0, "Phone".length()); 

,但我得到的ArrayStoreException。我已将CharArrayBuffer分配为。我不明白这个例外

+0

CharArrayBuffer是什么意思?有一个CharBuffer和一个CharArrayReader/Writer,但我没有看到一个CharArrayBuffer。 – 2009-06-21 04:37:08

回答

2

从文档

System.arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 

复制从指定的源阵列的阵列,在指定的位置开始,到目标数组的指定位置。

ArrayStoreException信息 抛出,表明已经尝试作出了错误类型的对象存储到对象的数组。例如,下面的代码生成一个ArrayStoreException

Object x[] = new String[3]; 
x[0] = new Integer(0); 

以下的代码

System.arraycopy("Phone", 0, stringBuffer1.data, 0, "Phone".length()); 

线试图把字符串转换CharArrayBuffer

0

ArrayStoreException是因为一个类型。将“电话”转换为CharArrayBuffer。 (所述阵列的大小不是问题,这将引发IndexOutOfBoundsException异常,如果它是)