Может ли кто-нибудь сказать мне, почему в следующем коде существует исключение NullPointerException? Я попытался понять это, но не мог!Исключение Null Pointer
Исключение составляет в следующей строке:
companies[x].compName=temp1[0];
Тип компании массив Компания, которая содержит строку и список массива.
JFileChooser fileChooser = new JFileChooser(); // create instence from file chooser
fileChooser.setCurrentDirectory(new File(System.getProperty("user.home"))); //assign directory
if(fileChooser.showOpenDialog(null)==JFileChooser.APPROVE_OPTION){
File f = fileChooser.getSelectedFile();
try{
LineNumberReader lnr = new LineNumberReader(new FileReader(f));
lnr.skip(Long.MAX_VALUE);
int n = lnr.getLineNumber() +1;
lnr.close();
companies = new Company[n];
int i=0 , x=0;
String s ="";
Scanner input = new Scanner(f);
String [] temp1,temp2;
while(input.hasNext()){ // read line by line
s = input.nextLine();
s=s.replaceAll(" ", "");
if(s == null)
continue;
else{
temp1 =s.split(",");
companies[x].compName=temp1[0]; //store compName in the companies
for(i=1;i<temp1.length;i++){
temp2=temp1[i].split("/");
companies[n].compItems.addLast(temp2[0], Integer.parseInt(temp2[1]));
} //end for
} //end else
x++;
} //end while
Не читал код , Но с первой строки есть три (включительно OR) возможности: (1) компании имеют значение null. (2) компании [x] имеют значение null. (3) temp1 имеет значение null. Итак, пройдите и убедитесь, что ни одна из этих трех вещей не может произойти, или что вы справляетесь с ней надлежащим образом, если и когда это произойдет. – Jameson
Хорошо, я попробую проверить его снова. – Metanoia