如何在Android上的Java中的指定索引处将CharArrayBuffer
复制到另一个CharArrayBuffer
?
developer.android.com/reference/android/...
CharArrayBuffer stringBuffer1 = new CharArrayBuffer(128);
System.arraycopy("Phone", 0, stringBuffer1.data, 0, "Phone".length());
但我得到ArrayStoreException
。我已将CharArrayBuffer
分配为 128 。我不明白这个例外
答案 0 :(得分: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());
正在尝试将String放入CharArrayBuffer
。
答案 1 :(得分:0)
ArrayStoreException是因为一个类型。将“Phone”转换为CharArrayBuffer。 (数组的大小不是问题。如果是,则抛出IndexOutOfBoundsException。)