public class Test4 {
public static void main(String[] args) {
 String[] arr={"1","2","3"};
 String str="你妹妹的";
 Map<String[], String> map=new HashMap<String[], String>();
 map.put(arr, str);
 Iterator it=map.keySet().iterator();
 while (it.hasNext()) {
String key=it.next().toString();
System.out.println(Arrays.toString(key));

}
}
}为什么打印的时候报错,应该怎么打出所有的key~

解决方案 »

  1.   

    你设定的key不是数组吗
    keyset.toArrays()好像是这个方法。能得到key的数组,类型是object。你再把每一个元素都转换成字符串数组。就可以得到arr了。至于用Iterator,我不熟。你照这个思路把it.next()转换成字符串数组试试
      

  2.   

    首先这个Map中现在只有一个key,就是这个String数组
    为什么要用一个字符串数组作为key呢??
    直接用int不行吗?
      

  3.   

    必须使用字符串数组作为key的
      

  4.   

    你最后的处理的这两句话出现的问题://这是你的代码
    String key=it.next().toString();
    System.out.println(Arrays.toString(key));
    你的key是一个字符串,而Arrays.toString()方法需要传递的是一个数字参数这样可以打印出数组:
    String[] key=(String[]) it.next();
    System.out.println(Arrays.toString(key));
      

  5.   

    纠正:
    你的key是一个字符串,而Arrays.toString()方法需要传递的是一个数组参数不好意思,应该是数组,不是数字。
      

  6.   

    你的错误在于 String key=it.next().toString(); 这里toString()方法得到的是一个String类型的字符串(数组的地址),你再调用Arrays.toString(key),Arrays.toString()要传一个数组,参数就不匹配了,报错。。一般不会把key设为数组的,你要这样设的话,需要把it.next()转换为数组,再用Arrays.toString()把这个数组转换成数组的输出格式,要看具体怎么转换的自己查文档。import java.util.*;
    public class Test4{
    public static void main(String[] args){
    String[] arr={"1","2","3"};
       String str="你妹妹的";
       Map<String[], String> map=new HashMap<String[], String>();
       map.put(arr, str);
       Iterator it=map.keySet().iterator();
       while (it.hasNext()) {
       String[] key=(String[]) it.next();
       System.out.println(Arrays.toString(key));
        }
    }}
      

  7.   

    你key里加数组干什么??? 看书了没有,仔细看看书再来问
      

  8.   

                                String[] arr={"1","2","3"};
                String str="的";
                Map<String[], String> map=new HashMap<String[], String>();
                map.put(arr, str);
                for(String[] s:map.keySet()){
                  for(String s1:s){
                 System.out.println(s1); 
                  }
                 }
      

  9.   

    map.keySet()这个就是你的key的集合