-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 に答える