コールバックハンドラーの匿名内部クラスを定義するコードがあります。このハンドラーはローカル変数を割り当てる必要があります。以下を参照してください。コールバックで割り当て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());
}
}