CharSequence ArrayList到charSequence转换

时间:2012-10-21 12:34:29

标签: java android

有课堂演员的问题。请告诉我如何施展这个。我希望ArrayList<CharSequence>名为CharSequence[]。{/ p>。Contacts

java.lang.ClassCastException(在Android中):

CharSequence[] Contacts;
List<CharSequence> contacts = new ArrayList<CharSequence>();


Contacts = (CharSequence[]) contacts.toArray();

for(CharSequence p : contacts) {
    Log.i("log_tag", "AAAAAAAAAAAAAAAAAAA" + p);
}

2 个答案:

答案 0 :(得分:5)

试试这个:

Contacts = contacts.toArray(new CharSequence[contacts.size()]);

虽然,我建议您将Contacts重命名为其他内容,也许contactsArray。有两个原因: 1) Java变量名称通常以小写字母开头。 2)您有另一个名为contacts的变量,定义第二个变为Contacts将使代码更难以阅读和理解,因为这两个名称不同 < / em>以第一个字母为例。


相关文件:

答案 1 :(得分:3)

toArray()返回Object[]类型的数组。 Object[]CharSequence[]是不同的类型。如果您想要一个CharSequence数组,则必须使用以下代码:

contactArray = contacts.toArray(new CharSequence[contacts.size()]);

有关详细信息,请参阅the javadoc

请注意Contacts违反了Java命名约定,并且有两个变量,一个名为contacts而另一个名为Contacts,这实际上是一个坏主意(除非您需要代码尽可能地难以理解。)