2011-11-11 245 views
0

我已經把hashmap變成了集合,集合到了對象中,現在我需要將對象轉換成String.e。這種方式或者比這更好的方式都是非常可觀的。如何將對象數組轉換爲字符串數組?

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

假設「錯誤」是一個ArrayIndexOutOfBoundsException」,您需要分配陣列添加任何東西之前,也有另一種指定者方法,可以幫助:

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

我之前也試過這個,可能是我在某個地方錯了,感謝很多。 –

0

只需使用HashMap.values()指定者(),例如:

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

這將產生對象數組.still留下相同issue.how將對象數組轉換爲字符串數組 –

+0

只是更新使用正確的toArray方法重載。 –

+0

我已經用這種方法完成了.getting編譯時error.at上面提到的lines.even試過鑄造 –

0

這可能是一個編譯錯誤,在使用之前你不初始化類型的數組和名稱陣列和一樓的方法是很好的方式。解決問題他的問題。

相關問題