我想创建一个基础设施utils类
但我不知道如何将T与不同类型进行比较
我的意思是T == String,T == Object,T == Integer
(切换在1.7以下的Java中工作并且我不确定我可以在android 3及更高版本上使用哪个java)
public T get<T>(String key) {
if (T String.class))
{
return prefs.getString(key, "");
}
else if ()
{
}
return null;
}
答案 0 :(得分:0)
我认为你当时误用了仿制药。如果T将是完全不同的子类型,你应该尝试沿着接口的方向行事,或者只是完全编写单独的方法。
有人想到了一个可以解决的解决方案:
Map<Object, String> yourPrefs;
public String get(Object key) {
yourPrefs.get(key);
}
您建议的大部分课程都是.equals()
和.hashCode()
,所以您应该在这方面做得很好。