-2

我得到了java.lang.NullPointerException,但我不知道为什么。

private String[] fileInfo;

public void createPartControl(Composite parent){
   ...

   setFileInfo( "MyFile.log" );
}

private void setFileInfo(String file){
   String[] temp = file.split("\\.");
   fileInfo[0] = temp[0];
   fileInfo[1] = temp[1];

   System.out.println(temp[0]); // OK
   System.out.println(temp[1]); // OK
   System.out.println(fileInfo[0]); // ERROR
   System.out.println(fileInfo[1]); // ERROR
}
4

3 回答 3

2

fileInfo数组需要初始化。

String[] fileInfo = new String[temp.length];
于 2012-12-16T10:09:37.053 回答
2

你必须初始化

private String[] fileInfo; 

你的班级如下所示

public Test(){ // Constructor of the class
    fileInfo = new String[10]; // here 10 is taken as any constant
}
于 2012-12-16T10:09:51.393 回答
1

因为你还没有初始化fileInfo

写:

String[] fileInfo = new String[100];

并且您的代码将不起作用。但是在这种情况下,您必须确定数组长度(10))。你可以做得更好。为什么你需要tmp?说:

fileInfo = file.split("\\.");

一切都会奏效

于 2012-12-16T10:11:04.843 回答