-1

Lists の JavaをStrings の配列に変換できるかどうかを知りたい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 に答える