HashMap map[][]= new HashMap[4][5];
map[2][3].put("companyName",arrayCompany.get(1).toString());编译时报java.lang.NullPointerException错误。

解决方案 »

  1.   

    编译的时候报NullPointerException? 什么编译器啊,这么强悍?
      

  2.   

    arrayCompany.get(1),确定不是null吗?
      

  3.   

    楼主在用map[2][3]之前应该
    map[2][3]=new HashMap();你只创建了数组对象,而没有创建每个HashMap对象
      

  4.   

    NullPointerException 属于运行时错误。编译不可能出这种错误的。HashMap本来就是(key,value)
      

  5.   

    HashMap map[][]= new HashMap[4][5];
      map[2][3]=new HashMap();
      map[2][3].put("companyName",arrayCompany.get(1).toString()); micalorsoftware() ( ) 信誉:100    Blog  2007-01-11 15:42:34  得分: 0  
       NullPointerException 属于运行时错误。编译不可能出这种错误的。  
       你拿去编译下就知道报不报这个错了,我帮LZ编译了下 的确这个错
      

  6.   

    不好意思,是运行的时候报错。
    我打印了arrayCompany.get(1).toString()的值,不是null。
      

  7.   

    HashMap map[][]= new HashMap[4][5];
      map[2][3]=new HashMap();
      map[2][3].put("companyName",arrayCompany.get(1).toString()); micalorsoftware() ( ) 信誉:100    Blog  2007-01-11 15:42:34  得分: 0  
       NullPointerException 属于运行时错误。编译不可能出这种错误的。  
       你拿去编译下就知道报不报这个错了,我帮LZ编译了下 的确这个错不知道你用的是什么版本的编译器。总之我用Sun的JDK 1.4,编译的时候是不会报错的。在运行时才会报错。
      

  8.   

    HashMap map[][]= new HashMap[4][5];上面之创建了数组,你这里每个数组元素都是一个HashMap对象,所以使用之前需要初期化。你原来的code,map[2][3]本身是null需要加上map[2][3] = new HashMap();map[2][3].put("companyName",arrayCompany.get(1).toString());
      

  9.   

    HashMap不保证映射的顺序,特别是它不保证该顺序恒久不变。呵呵~~我也了解不深,
    所以只好推荐下我自己的简单易懂的方法。
    HashMap mapRow= new HashMap();
    HashMap mapCol= new HashMap();
    mapCol.put("3",arrayCompany.get(1).toString());
    mapRow.put("2",mapCol);这样想取出的时候可以用 String a=(String) ((HashMap)m4.get("2")).get("3");得到。呵呵~~
      

  10.   

    是String a=(String) ((HashMap)mapRow.get("2")).get("3"); 见笑了:)