我重构代码,我想创建带有使用服务器方法的工厂。
我遇到了:
public DriverBadge updateDriverBadges() {
DriverBadge driverBadge;
try {
ServerProxy.GetInstance().GetDriverBadge(new IRemoteCallback<DriverBadge>() {
@Override
public void Callback(Exception ex, DriverBadge badge) throws Exception {
...
driverBadge = badge;
}
});
} catch (Exception e) {
e.printStackTrace();
}
return driverBadge;
}
我想在回调
DriverBadge badge
中从服务器接收到我的返回对象,但是我不能。 driverBadge = badge;
不起作用,因为driverBadge
不是最终形式,如果最终形式出现,则说“无法为最终变量赋值” 最佳答案
不能在串联类中分配本地引用。
如果希望driverBadge可分配,请使其为global。