一般情况下,我们使用泛型是这样的:
Map map2=new HashMap();
前后都需要加上参数的类型,编译器无法从等号前的参数类型自动推测出后面的参数类型,但使用泛型类型参数推断可以简化部分工作。
/**
* 定义泛型方法
* @return
*/
public Map map()
{
return new HashMap();
}
public void ff()
{
//调用时,会自动根据前面的参数类型返回所需的map
Map map=map();
Map map2=map();
}
但是,不能直接将map()方法作为其他方法的参数传入,因为它没法判断所需的类型。需要显示说明:
public void ff(Map m)
{
}
//调用
Main main=new Main();
main.ff(main.map());