比如 public static <T> T getxxx(Class<T> clazz) 和 public static T getxxx(Class<T> clazz) 有没有区别?
比如 public static <T> T getxxx(Class<T> clazz) 和 public static T getxxx(Class<T> clazz) 有没有区别?
public static <T> T getxxx(Class<T> clazz)
这个<T>是声明一个泛型类型T
然后返回该类型T
public static T getxxx(Class<T> clazz)
这里是返回类型是类型T
如果这里泛型T
没有在类上声明是会编译错误的。
8 回答6.5k 阅读
4 回答690 阅读✓ 已解决
2 回答3.4k 阅读
3 回答1.9k 阅读✓ 已解决
1 回答2.2k 阅读✓ 已解决
1 回答2.1k 阅读✓ 已解决
1 回答966 阅读✓ 已解决
题主应该是想问:
的区别吧?
public <T> T getxxx(Class<T> clazz)
对应的是泛型方法;public T getxxx(Class<T> clazz)
所对应的类,就必须是泛型类;PS:
static
方法无法访问泛型类的类型参数