<K,V>HashMap<K,V>,后面的(k,v)是泛型,前面的是什么?跪求!

这是源代码:
public static < K,V >HashMap < K,V> newInstance(){
return new HashMap < K, V > ();
}

< K,V >HashMap< K,V>是一个返回类型,那么如题,前面的< K,V>是什么意思?

最前面的是定义,你后面要用到几个泛型,在前面的进行定义,算是语法吧。
public static Map list2Map(List list, String keyName,
Class keyClass) {
如这个例子,我需要用到K E,2个泛型,在方法最前面先定义。

返回这个类型
函数的返回值类型,这里不是特殊的

这都答的啥呀。。类型参数列表,泛型方法独有的,表明类型参数之间、以及参数与返回值之间的关系。泛型基础,建议看一下。

public static HashMap new Instance()
{
return new HashMap();
}

确认 new 和 Instance中间有空格么

确定HashMap是泛型模板么

确定这个函数 需要Static 静态函数么

 public static <K, E> Map<K, E> list2Map(List<E> list, String keyName,
            Class<K> keyClass) {

哎,编辑器把泛型给去掉了。。再发一次。

这种方式被称作类型推导(type inferernce),具体了解就百度吧。

这是Effective java中的一段代码。

public static <K,V> HashMap<K,V> newInstance(){
            return new HashMap<K,V>();
}

HashMap前面的代表返回值的类型。具体调用可以像下面这样:

 Map<String,List<String>> m = HashMap.newInstance();

这么写主要是为了避免当泛型很长的时候,代码显得冗余,例如:

 Map<String,List<String>> m = new HashMap<String,List<String>>();

至于为什么public static <K,V> HashMap<K,V> newInstance(){}这样写 是因为java的语法就是这样,详见该链接: Java语法

前面的表明这个方法是泛型方法。比如在任意普通类中加入如下两个方法

public <T> T getParam(T param){
    return param;
}

public HashMap<K,V> getHash(){
    return new HashMap<K, V>();
}

第一个方法的泛型是编译通过的;

但是第二个会提示can not resolve symbol

没明白你的问题是什么意思,通常使用时这样的HashMap = new HashMap();即创建对象实例时指定key和value的真实类型是什么。
而且你给的这段代码是有编译错误的,如果你这是java代码的话。正确应该是:

    public static HashMap newInstance(){
        return new HashMap();
     }

而且,由于你没有指定K,V,编译器还会给出警告:

 HashMap is a raw type. References to generic type HashMap<K,V> should be parameterized