Android代码-SharedPreferences类导出用于持久/检索不同首选项的不同方法:
@SuppressWarnings("unchecked") public static <T> T retrieve(Context ctx, String key, T defaultValue) { SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ctx); if (defaultValue instanceof Boolean) return (T) (Boolean) prefs .getBoolean(key, (Boolean) defaultValue); else if (defaultValue instanceof Float) return (T) (Float) prefs .getFloat(key, (Float) defaultValue); // etc - another 4 cases }
我,但是我的问题是:由于我已经使用过
并且
归结为特定的类,有没有一种方法可以避免单次和两次强制转换以及
编辑 :如果我要通过类,我可能会调用getBoolean()或getFloat()等。我想要的是简化方法的内部结构,摆脱警告,但仍然可以调用retrieve(ctx,"KEY", 1 or "string" or true)并得到我想要的东西
getBoolean()
getFloat()
retrieve(ctx,"KEY", 1 or "string" or true)
好吧我的问题 是 是(简单): 由于我已经使用过instanceof,并且T归结为特定的类,有没有一种方法可以避免单次和两次强制转换以及警告:未选中?