Tôi có một số mã định nghĩa một lớp bên trong vô danh cho trình xử lý gọi lại. Trình xử lý này cần gán một biến cục bộ, xem bên dưới. Tôi cần phải chỉ định resp
trong gọi lại và tham chiếu đến phần cuối của hàm. Tôi nhận được lỗi này trong Eclipse tuy nhiên:Truy cập các biến từ lớp bên trong
Các thức địa phương biến resp
không thể được chỉ định, vì nó được định nghĩa trong một loại kèm theo
Làm thế nào tôi có thể sửa lỗi này?
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 cần được khởi chạy. – Joel
@ Joel, cảm ơn vì đã chỉ ra điều đó. Đã sửa. – jjnguy
@Erick, tại sao điều này không hoạt động? – jjnguy