我定义了这个类型的变量private ArrayList<float[]>  compare ;再对做compare.add()时,出现了Exception in thread "main"  java.lang.NullPointerException,我不知道是不是ArrayList<float[]>  这样定义有错。希望大家能帮我解决一下,谢谢。

解决方案 »

  1.   

    个人觉得空指针的异常和ArrayList无关,只和你的数组有关,可否把程序贴上来?
      

  2.   

    public Classfication() throws Exception    //这个是构造函数
         {
                // output = null;
                 for (int j = 0; j < munfile; j++)
                 {
                       if(munLine("D:\\baodijunbaodijun\\"+j))
                       {
                            // System.out.println("a;fldjasklfjsdl    "+j);
                               inputpoint = init("D:\\baodijunbaodijun\\"+j);      // inputpoint是两维数组float类型
                               System.out.println("dafads");
                               for (float[] aa: inputpoint)
                                   for(float pp: aa)
                                       System.out.print(pp+"   ");
                               float[] f = new float[n];
                               for (int i = 0; i < n; i++)
                                       f[i] = inputpoint[0][i];
                               compare.add(f);
                               compareout.add(0);
                               System.out.println("sfdaslfjldks");
                               break;
                        }
                 }
         }
      

  3.   

    很简单啊
    把float数组改成Float数组
      

  4.   

    import java.util.ArrayList;
    class Test
    {
    ArrayList<Float[]> compare;

    Test()
    {
    compare = new ArrayList<Float[]>();
    }
    public static  void main(String[] args)
    {
    Float[] a = new Float[10];
    Test t = new Test();
    t.compare.add(a);
    }
    }