質問: (String[])mapLst.toArray(new String[]{}); System.out.println("問題文は・・・" + question); System.out.println("解答選択肢は・・・" + answer); } ***************************************** mapの中身はキー(問題文)がString型で値(解答選択肢)がList型になっています。mapの中身がどうなっているかというと例として、 {"この色は何色ですか?" , [赤 , 青 , 黄 , 緑]} といった感じです。問題文は例外も無く進んだのですが、値のキャスト部分でどうしても例外がでてしまいます。 例外は「java.lang.ArrayStoreException」が出ます。例外内容を調べはしたのですが、どうしても解決までたどり着くことが出来ません。 状況説明に至らない部分があるとは思いますが、宜しくお願い致します。
回答: AKさんのやり方で間違ってないと思います。 2点を除いてはですが。 1つは、java.lang.ArrayStoreException が発生したと言われてもどの行でExceptionがスローされたのかが分からないとほかの方も原因がわからないです。 コードで間違ってる点ですが、 > String[] answer = (String[])mapLst.toArray(new String[]{}); これがどう見てもおかしいです。 toArrayでObject[]に変換してるのに引数にnew String[]{}で空のStringオブジェクトを引数に渡してる・・・。 引数に書いてあるnew String[]{} は、変換した配列を入れる入れ物なので(リファレンス参照)それが空じゃエラーがでるのは当然でしょう。