我的代码如下:
public class CalledClass
{
public static <T> List<T> conditionMethod(**<T> map,Class<T> tableName)
{
//B.L
return li;
}
}
public class PureCoding
{
public static <T> void main(String[] args)
{
Map<T,T> map = new HashMap<T,T>();
CalledClass.conditionMethod(map,HomeWorkPojo.class);
}
}
通过这种方式,我不能在CalledClass中调用方法。我该如何调用该方法。在这里,我想将Collection类型Map和Class Name作为Parameters传递给我的conditionMethod()。
取代**我会给出什么类型。?
答案 0 :(得分:1)
所以...如果我理解正确,您希望将Map
和Class
传递给您的方法。在这种情况下,您需要的唯一泛型是地图的键和值的界限,以及您想要的Class
的类型(或通配符):
public static <K, V> List<V> conditionMethod(Map<K, V> map, Class<?> tableName) {
// implementation to go here
}
记住generics actually provide - 关于类型的编译时安全性。他们不是一个神奇的子弹;你可以使用它们。