令牌空指针异常

egg*_*ter 1 java token nullpointerexception

以下代码打开一个文本文件,并使用逗号作为分隔符将其内容分解为标记.我已经使用了与此类似的代码并且它工作正常但由于某种原因,这会在"myItems [counter] .name = myTokens [counter];"上抛出NullPointerException.

public static serial[] getSerials(String fName) throws Exception {
    String total = null;
    BufferedReader lineReader = null;
    lineReader = new BufferedReader(new FileReader(fName));
    while ((lineReader.readLine()) != null) {
        total = total + lineReader.readLine() + ",";
    } //end while
    String[] myTokens = total.split(","); /*break the string csv tokens*/
    /*Put together the serial objects*/
    serial mySerials[] = new serial[myTokens.length];
    int counter = 0;
    while (counter < myTokens.length) {
        mySerials[counter].name = myTokens[counter];
        counter++;
        mySerials[counter - 1].onlineISSN = myTokens[counter];
        counter++;
    }
    return mySerials;
} //end getSerials()
Run Code Online (Sandbox Code Playgroud)

Sot*_*lis 5

你已经初始化了数组

serial mySerials[] = new serial[myTokens.length];
Run Code Online (Sandbox Code Playgroud)

但不是它的元素

mySerials[counter].name // will throw NPE
Run Code Online (Sandbox Code Playgroud)

在访问其成员之前,您需要先初始化元素

mySerials[counter] = new serial(/* something possibly */);
Run Code Online (Sandbox Code Playgroud)