2011-11-11 23 views
0

私はhashmapをコレクションにコレクションに変更しました。オブジェクトにする必要がありましたが、今はStringオブジェクトにする必要があります。 。オブジェクト配列を文字列配列に変換する方法は?

Collection<String> t; 
     Collection<String> n; 
     String[] names; 
     String[] types; 
     Object[] foo; 
     Object[] doo; 
    HashMap<Integer, String> typehashmap=new HashMap<Integer, String>(); 
      HashMap<Integer, String> namehashmap=new HashMap<Integer, String>(); 

     t= typehashmap.values(); 
     n= namehashmap.values(); 

     foo=t.toArray(); 
     doo=n.toArray(); 
     for(int i=0;i<t.size();i++){ 
error-->   types[i]=(String) foo[i]; 
    error-->    names[i]=(String) doo[i]; 
     } 
+0

**どのようなエラーが発生しますか?** – SLaks

+0

あなたの質問には、それが参照するプログラミング言語でタグ付けされていると非常に役に立ちます。そしておそらくあなたはコードの何が間違っているか教えてください;-) – Quasdunk

+0

ランタイムエラーまたはコンパイラエラー? –

答えて

0

を、あなたは彼らに何かを追加する前に配列を割り当てる必要があります。助けることができる別のtoArrayメソッドもあります!

String[] types = typehashmap.values().toArray(new String[typehashmap.size()]); 
+0

私はあまりにも間違っていたかもしれない前に、これを試していた。 –

0

ちょうどHashMap.values()内のtoArray()などを使用: "エラーは"」は、ArrayIndexOutOfBoundsExceptionであると仮定すると

String[] names = namehashmap.values().ToArray(new String[namehashmap.size()]); 
String[] types = typehashmap.values().ToArray(new String[typehashmap.size()]); 
+0

これはオブジェクトの配列を生成します。同じissue.howを使用してオブジェクト配列を文字列配列 –

+0

に変換して、toArrayメソッドの正しいオーバーロードを使用するように更新しました。 –

+0

私は既にこのアプローチでやっています。上記のlines.evenでキャストしようとしましたが、コンパイル時にエラーが発生しました –

0

それはコンパイラのエラーの可能性があり、あなたがそれらを使用する前に、種類の配列と名前配列を初期化していない1階の方法は、のために良い方法です。 tを解く彼の問題。

関連する問題