我有一些代碼爲回調處理程序定義了一個匿名內部類。這個處理程序需要分配一個局部變量,見下文。我需要在回調中分配resp
,並在函數結束時將其引用。我在Eclipse中收到此錯誤但是:從內部類訪問變量
最後的局部變量resp
無法分配,因爲它是在一個封閉的類型
我怎樣才能解決這個定義?
DoorResult unlockDoor(final LockableDoor door) {
final UnlockDoorResponse resp;
final boolean sent = sendRequest(new UnlockDoorRequest(door),
new ResponseAction() {
public void execute(Session session)
throws TimedOutException, RetryException, RecoverException {
session.watch(UNLOCK_DOOR);
resp = (UnlockDoorResponse)session.watch(UNLOCK_DOOR);
}
});
DoorResult result;
if (!sent) {
return DoorResult.COMMS_ERROR;
}
else {
return DoorResult.valueOf(resp.getResponseCode());
}
}
ResponseWrapper需要初始化。 – Joel 2011-01-25 20:16:08
@Joel,謝謝你的指出。固定。 – jjnguy 2011-01-25 20:17:18
@Erick,爲什麼這不工作? – jjnguy 2011-01-25 20:18:33