问题描述
- <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>是什么意思?
解决方案
返回这个类型
函数的返回值类型,这里不是特殊的
解决方案二:
没明白你的问题是什么意思,通常使用时这样的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
解决方案三:
这都答的啥呀。。类型参数列表,泛型方法独有的,表明类型参数之间、以及参数与返回值之间的关系。泛型基础,建议看一下。
解决方案四:
public static HashMap new Instance()
{
return new HashMap();
}
你
确认 new 和 Instance中间有空格么
确定HashMap是泛型模板么
确定这个函数 需要Static 静态函数么
解决方案五:
最前面的是定义,你后面要用到几个泛型,在前面的进行定义,算是语法吧。
public static Map list2Map(List list, String keyName,
Class keyClass) {
如这个例子,我需要用到K E,2个泛型,在方法最前面先定义。
解决方案六:
public static <K, E> Map<K, E> list2Map(List<E> list, String keyName,
Class<K> keyClass) {
哎,编辑器把泛型给去掉了。。再发一次。
时间: 2025-01-21 18:45:49