我正在定义一个回调,并希望从内部引用回调.编译器不喜欢这样,并声称引用回调的变量未初始化.这是代码:
final Runnable callback = new Runnable() {
public void run() {
if (someCondition()) {
doStuffWith(callback); // <
}
}
};
// Here callback is defined, and is certainly defined later after I actually do something with callback!
很明显,编译器被误认为是在我们到达内部方法的时候定义了回调.如何告诉编译器这段代码没问题,或者我怎么能用不同的方式编写它来安抚编译器呢?我没有做太多Java,所以我可能会在这里咆哮错误的树.有没有其他惯用的方法来做到这一点?对我来说,这似乎是一个非常简单的构造.
编辑:当然,这个,太容易了.感谢所有快速解答!