java 泛型方法

比如 public static <T> T getxxx(Class<T> clazz) 和 public static T getxxx(Class<T> clazz) 有没有区别?

阅读 3.2k
2 个回答

题主应该是想问:

public <T> T getxxx(Class<T> clazz)
public T getxxx(Class<T> clazz)

的区别吧?
public <T> T getxxx(Class<T> clazz)对应的是泛型方法;
public T getxxx(Class<T> clazz)所对应的类,就必须是泛型类;

PS: static方法无法访问泛型类的类型参数

public static <T> T getxxx(Class<T> clazz) 这个<T>是声明一个泛型类型T 然后返回该类型T
public static T getxxx(Class<T> clazz) 这里是返回类型是类型T 如果这里泛型T没有在类上声明是会编译错误的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题