Java 泛型 - 检查 T 的类型

标签 java generics

我正在使用这样的方法

private static <T> void setPreference(String key, T value)
{
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(Controller.getContext());

    SharedPreferences.Editor editor = prefs.edit();

    editor.putString(key, value.toString());

    editor.commit();
}

不幸的是,putString 是多个 put 方法之一。我还想使用 putBooleanputInt。我的问题是我想支持特定的类型(我不想像现在这样把所有东西都保存为字符串),我想尽可能地减少代码重复。我习惯了 C#,在 C# 中这种事情很容易,所以我觉得我错过了一些明显的东西。

最佳答案

做几个重载:一个接受 <T extends Boolean>等,针对您要划分的每种特定类型。

关于Java 泛型 - 检查 T 的类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5744957/

相关文章:

具有多种类型支持的 Java 泛型

java - 如何使用Java API正确访问Hadoop 3.2.1?

java - Java中无重复字符串的所有可能组合

Java:new Properties(...) 和 new Properties().putAll(...) 之间的区别

c# - 在不知道其类型的情况下反序列化实体

java - 为什么允许 `T extends String`但给出警告?

Swift - 我可以实现对类的相互泛型引用吗?

java - 动态添加textview到CardView

java - 从文件中查找 Average by X 的方法。?

java - 在方法参数中扩展泛型