现在我有一个hashmap传过来,里面put的是string[],我想取得hashmap里的所有key,然后返回一个String[]。
String[] keys = (String[]) hashmap.keySet().toArray();这个是我的那句话,可是这句话老是说我的类型转换错误。
我又不想用iterator,请问有什么办法,谢谢大家了。
如果实在不行用iterator我也试过了,可是iterator.next()后返回的是object
我(string)iterator.next()后得到的也不行。

解决方案 »

  1.   

    可以如下使用:
    import java.util.*;public class Test01 {
    public static void main(String[] args) {
    HashMap<String, String> map = new HashMap<String, String>();
    map.put("A", "AA");
    map.put("B", "AA");
    map.put("C", "AA");
    map.put("D", "AA");

    String[] strs = new String[3];
    strs = map.keySet().toArray(strs);
    for (int i = 0; i < strs.length; ++i) {
    System.out.println(strs[i]);
    }
    }
    }
      

  2.   

    “如果实在不行用iterator我也试过了,可是iterator.next()后返回的是object 
    我(string)iterator.next()后得到的也不行。 ”
    楼主,,你put进去的是STRING[] 你把它转型为STRING,,怎么可以咯
      

  3.   

    HashMap map = new HashMap();
        map.put("A", "AA");
        map.put("B", "AA");
        map.put("C", "AA");
        map.put("D", "AA");
        Object[] strs = new Object[map.size()];
        strs =  map.keySet().toArray();
        for (int i = 0; i < strs.length; ++i) {
            System.out.println(strs[i]);
        }
      

  4.   


            Map<String, Object> map = new HashMap<String, Object>();
            map.put(
                "1",
                new Integer(1));
            map.put(
                "2",
                new Integer(2));
            Set<String> set = map.keySet();
            String[] s = set.toArray(new String[2]);
            // 排序了
            Arrays.sort(s);
            for (String s1 : s) {
                System.out.println(s1);
            }
      

  5.   

    String[] keys = (String[])( hashmap.keySet().toArray()); 加括号试试。
      

  6.   

    正解
    HashMap <String, String>map = new HashMap <String, String>();
    Object[] obj = map.keySet().toArray();
    String keys[] = new String[obj.length];
    System.arraycopy(obj, 0, keys, 0, obj.length);
      

  7.   

    String[] keys = hashmap.keySet().toArray(new String[hashmap.size()]);