public abstract class InterruptableEvaluator<State> {
public abstract evaluate(State state);
public abstract haltEvaluation();
private final class EvaluationThread extends Thread {
private State state;
public EvaluationThread(State state) {
this.state = state;
}
@Override
public void run() {
evaluate(state);
haltEvaluation();
}
}
}
问题出在这里:
@Override
public void run() {
evaluate(state);
haltEvaluation();
}
该对象state
被视为java.lang.Thread.State
对象,而不是使用参数 from InterruptableEvaluator
。
如何明确告诉 Java 使用参数变量而不是java.lang.Thread.State
?