存在类类型转换的问题。请告诉我如何铸造这个。我想把这个ArrayList<CharSequence>放到我的名为Contacts的CharSequence[]中。
java.lang.ClassCastException (安卓系统):
CharSequence[] Contacts;
List<CharSequence> contacts = new ArrayList<CharSequence>();
Contacts = (CharSequence[]) contacts.toArray();
for(CharSequence p : contacts) {
Log.i("log_tag", "AAAAAAAAAAAAAAAAAAA" + p);
}发布于 2012-10-21 20:37:21
试试这个:
Contacts = contacts.toArray(new CharSequence[contacts.size()]);不过,我建议您将Contacts重命名为其他名称,也许是contactsArray。有两个原因:1)变量名通常以小写字母开头。2)你有另一个名为contacts的变量,将第二个变量定义为Contacts会使代码更难阅读和理解,因为这两个名称只是第一个字母的大小写不同。
相关文档:
toArray发布于 2012-10-21 20:37:30
toArray()返回Object[]类型的数组。Object[]和CharSequence[]是不同的类型。如果需要CharSequence数组,则必须使用以下代码:
contactArray = contacts.toArray(new CharSequence[contacts.size()]);有关更多详细信息,请参阅the javadoc。
请注意,Contacts违反了Java语言的命名约定,并且有两个变量,一个名为contacts,另一个名为Contacts,这确实不是一个好主意(除非您希望您的代码尽可能地不可读)。
https://stackoverflow.com/questions/12997852
复制相似问题