私はラインint length = origin.length();
奇妙なエラーが
にNullPointerExceptionが取得しますメインメソッドからの値です。
なぜ実行時にNullPointerExceptionが存在するのですか?コンストラクタ内のコードが実行される前に、長さ属性が設定されているので、origin属性は、まだヌルです:Javaのためのライフサイクルの
public static void main(String[] args) {
String regexp = "(?:a)";
Task t = new Task(regexp); // error
t.process();
}
class Task {
private String origin;
public Task() {
}
public Task(String origin) {
this.origin = origin;
}
public void setOrigin(String origin) {
this.origin = origin;
}
public String getOrigin() {
return origin;
}
int length = origin.length(); //NullPointerException
...
ヒント:http://stackoverflow.com//questions/218384/what-is-a-nullpointerexception-and-how-do-i-fix-it – Jens
コンストラクタの内部でその行を移動してみてください – depperm