为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我在返回 sharePreferenceUtils 时出现错误

为什么我在返回 sharePreferenceUtils 时出现错误

绝地无双 2021-11-24 16:04:23
我不明白为什么它不会让我返回 sharePreferenceUtils。有一个更好的方法吗?我收到错误“类型不兼容”    private static String Preference_NAME = "CodeLotto";    private static SharePreferenceUtils sharePreferenceUtils;    private SharedPreferences sharedPreferences;    private SharePreferenceUtils(Context context){        Preference_NAME = Preference_NAME + context.getPackageName();        this.sharedPreferences = context.getSharedPreferences(Preference_NAME, Context.MODE_PRIVATE);    }    public static SharedPreferences getInstance(){        if (sharePreferenceUtils == null) {            sharePreferenceUtils = new SharePreferenceUtils(MyApp.getContext());        }       return sharePreferenceUtils;    }    public void saveString(String key, String Val){        SharedPreferences.Editor editor = sharedPreferences.edit();        editor.putString(key, Val);        editor.commit();    }    public String getString(String key, String defVal){        return sharedPreferences.getString(key, defVal);    }    public String getString(String key){        return sharedPreferences.getString(key, "");    }}
查看完整描述

2 回答

?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

您使用 SharedPreferences 作为 getInstance 方法的返回类型,并返回一个 SharePreferenceUtils 实例。除非它们受到某种多态性的约束,否则就错了。


查看完整回答
反对 回复 2021-11-24
?
繁星点点滴滴

TA贡献1803条经验 获得超3个赞

将您的 getInstance() 方法更改为以下代码片段,您将获得返回 SharedPreferenceUtils。


public static SharePreferenceUtils getInstance(){

        if (sharePreferenceUtils == null) {

            sharePreferenceUtils = new SharePreferenceUtils(MyApp.getContext());

        }

       return sharePreferenceUtils;

    }

您的方法的返回类型是SharedPreferences这就是问题所在。


查看完整回答
反对 回复 2021-11-24
  • 2 回答
  • 0 关注
  • 175 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信