麻烦问一句:
Map<Integer,ArrayList> map=new HashMap<Integer,ArrayList>();
这一句显示有问题:
java.lang.Error: 无法解析的编译问题:
标记“<”上有语法错误,应为 (
语法错误,将“)”插入到完整 Expression 中
标记“<”上有语法错误,应为 (
标记“(”上具有语法错误,Expression 无效
可是这个语句的确也没错阿。不明白怎么回事?

解决方案 »

  1.   

    jdk1.5及以上支持,不然编译肯定出错
      

  2.   

    我已经安装了JDK5.0,eclipse里的其他程序也可以运行。但这个语句还是有问题。请问这是为什么?
      

  3.   

    eclipse需要指定版本号来编译的先把安装的jre添加到eclipse
    window-preferences-java-installed jres-添加一个,然后打个勾选为默认
    window-preferences-java-compiler-指定5。0即可
      

  4.   

    我改了半天都不行,换了一个eclipse3.1才解决问题。呵呵。谢谢啦。等一下看能不能完成。完成就结贴。
      

  5.   

    因为我最终要做的是把一个二维矩阵中相同的行向量归为一类,
    我试着改这个语句
    Map<Object,ArrayList> map=new HashMap<Object,ArrayList>();
    然后if(map.containsKey(FinalMatrix[c]))用这个作比较:
    程序可以运行,但结果是有多少行就分了多少类,也就是说
    map.containsKey(FinalMatrix[c]的值一直是FALSE,可我的矩阵中的确有很多行都是相同的。
    而且我DEBUG的时候,看见有些KEY值明明就是一样的数组,为什么被分成了不同的组阿?
    (实在不好意思,越写越麻烦,如能解决,分不够再加。)
      

  6.   

    我用很笨的办法搞定了。谢啦。
     int data[][] = {{0,1,1,0,1},{0,0,0,1,0},{0,1,1,0,1},{0,0,0,1,1},{0,0,0,1,0}};   
       String shuzu[][];
       shuzu=new String[5][5];
        for(int x=0;x<data.length;x++){
         for(int y=0;y<data[x].length;y++){
         shuzu[x][y]=String.valueOf(data[x][y]);
        
         }
        
         }
        String datas[];
        datas=new String[5];
        for(int r=0;r<datas.length;r++){
         datas[r]="a";
        }
        
        for(int a=0;a<shuzu.length;a++){
         for(int b=0;b<shuzu[a].length;b++){
          
         datas[a]=datas[a].concat(shuzu[a][b]);
         }
        }
       
    Map<String,ArrayList> map = new HashMap <String,ArrayList>();

    for(int i=0; i<data.length; i++){
    if(map.containsKey(datas[i])){
    ArrayList list = map.get(datas[i]);
    list.add(i);
    }
    else{
    ArrayList list = new ArrayList();
    list.add(i);
    map.put(datas[i],list);
    }
    }
    Iterator it = map.keySet().iterator();
    while(it.hasNext()){
    ArrayList list = map.get(it.next());
    System.out.println(list);
    }}
    }