所以可以说我有一个名为A的类,该类的构造函数为

       A(String someA, int someB , String[] someC)


在另一堂课中,我创建了一个主
将其作为类变量

    private static String[] someC = new String[4];
    private static ArrayList<A> thisA;


然后我从dat文件中提取一些信息

                someA= readFile.nextLine(); //some normal string such as  bob Billy
                someB= readFile.nextInt();   //some integer like 5
                unitCode[0] = readFile.next(); //some code such as HITHERE34
                unitCode[1] = readFile.next(); // all the 4 is the same style
                unitCode[2] = readFile.next();
                unitCode[3] = readFile.next();
         thisA.add(new A(someA,someB,unitCode); // create object and store into array list


我尝试运行它,它给了我一个nullPointerException错误
当我打印unitCode时,它返回给我一个地址。我该如何解决 ?

最佳答案

private static ArrayList<A> thisA;


这只是成员的声明。默认情况下,JVM会将“ thisA”(或任何引用类型成员)初始化为空值。为了克服这个问题,您需要将其手动初始化为其他方式:

private static ArrayList<A> thisA = new ArrayList<A>();

07-24 20:58