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)
你已经初始化了数组
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)