我重构代码,我想创建带有使用服务器方法的工厂。
我遇到了:

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。

08-26 06:25