在声明方法的返回值之前有和没有<t>之间的区别</t>

时间:2013-02-05 02:45:14

标签: java generics

之间有什么区别
public static<V> List<V> myMethod(V v){ return new ArrayList<V>();}

public static List<V> myMethod(V v){ return new ArrayList<V>();}

在方法1中声明返回类型之前<V>是什么意思?

2 个答案:

答案 0 :(得分:0)

在第一种方法中,V是方法的类型参数。

在第二种方法中,V是类或接口类型。

答案 1 :(得分:0)

区别很简单:

  • 第一个编译
  • 第二个不编译

第二个没有编译的原因是V尚未声明。

第二个编译的唯一方法是,如果方法不是静态的,并且类具有泛型参数V,则为所有实例方法声明它。