-1

我想知道是否可以将 s 的 Java 转换ListStrings 的数组String

我试过这个:

List<String> products = new ArrayList<String>();
//some codes..
String[] arrayCategories = (String[]) products.toArray();

但它给了我一个异常消息:

java.lang.ClassCastException:java.lang.Object[] 不能转换为 java.lang.String[]

4

4 回答 4

6
String[] array = products.toArray(new String[products.size()]);
于 2013-09-11T10:44:17.360 回答
3

利用

String[] arrayCategories = products.toArray(new String[products.size()]);

products.toArray()将列表值放入Object[]数组中,就像你不能将超类型的对象转换为它的派生类型一样

//B extands A
B b = new A();

您不能将数组存储或Object[]转换为String[]数组,因此您需要传递要返回的确切类型的数组。

附加信息在这里

于 2013-09-11T10:44:12.940 回答
0

尝试

List<String> products = new ArrayList<String>();
        String[] arrayCategories = products.toArray(new String[products.size()]);
于 2013-09-11T10:45:52.423 回答
0

这应该可以解决问题。你在第一行有一个错字。

List<String> products = new ArrayList<>();
String[] array = (String[]) products.toArray();
于 2013-09-11T10:46:38.100 回答