下午写了个程序,编译通过,运行时却出现了以下错误:
java.lang.NullPointerException
找了很久才发现是这条句子的问题:private Vector idVect;
把它改成:private Vector idVect=new Vector();
就OK了。
切记下次不要再犯了!

解决方案 »

  1.   

    (接上文....)
    我在搜索java.lang.NullPointerException问题的时候,发现了不少有用的帖子,现在引用如下,希望对大家有所帮助。http://zhidao.baidu.com/question/19955287.html
    bear830810大侠如是说:
    一般报java.lang.NullPointerException的原因有以下几种: 
    1字符串变量未初始化; 
    2接口类型的对象没有用具体的类初始化,比如: 
    List lt;会报错 
    List lt = new ArrayList();则不会报错了 
    3当一个对象的值为空时,你没有判断为空的情况。 
    你可以试着把下面的代码前加一行代码: 
    if(rb!=null && rb!="") 
    改成: 
    if(rb==null); 
    if(rb!==null&&rb!="")
    我犯的正是第2种错误。
      

  2.   

    http://www.cjsdn.net/post/view?bid=1&id=153929&age=0
    风狼问道:
    求教一个简单问题java.lang.NullPointerException
    我是一个新手,调试一个小程序时出现了java.lang.NullPointerException异常
    其代码是
    import java.io.*;
    class ArrayElementAngle{
    public static void main(String[] args){
      int mArray[][]=new int[5][];
      int nCounter=1;for(int m=0;m<mArray.length;m++){
      for(int n=0;n<nCounter;n++) 
          mArray[m][n]=nCounter;//在编译时也没有出现问题,在执行时说这一行有空指针异常
          nCounter++;
       }
    for(int m=0;m<mArray.length;m++){
        System.out.println("第"+m+"行->");
        for(int n=0;n<mArray[m].length;n++)
           System.out.println(" "+mArray[m][n]+" ");
        System.out.println("\n");
    }
    }
    }
    mArray[m][n]=nCounter;//在javac时也没有出现问题,在执行时说这一行有空指针异常
    请各位大虾指教,谢先! 

    ==========================================================================
    breezehou大侠如是说:
    import java.io.*;
    class ArrayElementAngle {
      public static void main(String[] args) {
        int mArray[][] = new int[5][];
        int nCounter = 1;
        
        for (int m = 0; m < mArray.length; m++) {
          for (int n = 0; n < nCounter; n++) {
            mArray[m] = new int[n+1];
            mArray[m][n] = nCounter;
          }
          nCounter++;
        }
        
        for (int m = 0; m < mArray.length; m++) {
          System.out.println("The " + m + "line->");
          for (int n = 0; n < mArray[m].length; n++)
            System.out.println(" " + mArray[m][n] + " ");
          System.out.println("\n");
        }
      }
    后者就多了一句: mArray[m] = new int[n+1];