gpt4 book ai didi

java - 如何灵活使用泛型对象?

转载 作者:行者123 更新时间:2023-12-01 11:45:19 25 4
gpt4 key购买 nike

我想用一个名为 SecurePreferences 的类(它是 this 的修改版本)替换我的 Android 应用程序中的 SharedPreferences 。如何灵活调用其中一个实例的方法?

示例:

SharedPreferences sharedPref = this.getPreferences(Context.MODE_PRIVATE);
SecurePreferences securePref = new SecurePreferences(sharedPref, "", key, true);
...
public void loadSettings() {
Object pref;
if (Settings.usingEncryptedPreferences) {
pref = securePref;
} else {
pref = sharedPref;
}
boolean musicEnabled = pref.getBoolean("musicEnabled", true);
boolean soundEnabled = pref.getBoolean("soundEnabled", true);
boolean vibrationEnabled = pref.getBoolean("vibrationEnabled", true);
// and so on
}

SharedPreferencesSecurePreferences 都有一个 getBoolean 方法。但 Android Studio 告诉我无法解析方法“getBoolean(Java.lang.String, boolean)”

最佳答案

该错误是由您的 pref 变量的类型引起的。对象类没有 getBoolean 方法。可以有多种解决方案。例如:如果 SecurePreferences 扩展 SharedPreferences 接口(interface)(或实现它),则 pref 变量的类型应为 SharedPreferences。

关于java - 如何灵活使用泛型对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29186674/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com